当前位置: 首页 > 知识库问答 >
问题:

这是处理信用卡付款的正确方式吗?

阎咏思
2023-03-14

我有一个3页的结账流程。第一页是客户信息。第二页是卡片信息。第三页是回顾

我使用贝宝api处理付款处理。现在我有支付页面设置与贝宝api的请求参数存储在一个数组中,并在客户点击确认后

付款信息页面

// Store request params in an array THESE ARE STATIC VARIABLES FOR TESTING
$request_params = array
                (
                'METHOD' => 'DoDirectPayment', 
                'USER' => $api_username, 
                'PWD' => $api_password, 
                'SIGNATURE' => $api_signature, 
                'VERSION' => $api_version, 
                'PAYMENTACTION' => 'Sale',                   
                'IPADDRESS' => $_SERVER['REMOTE_ADDR'],
                'CREDITCARDTYPE' => 'MasterCard', 
                'ACCT' => '5522340006063638',                        
                'EXPDATE' => '022018',           
                'CVV2' => '456', 
                'FIRSTNAME' => 'Tester', 
                'LASTNAME' => 'Testerson', 
                'STREET' => '707 W. Bay Drive', 
                'CITY' => 'Largo', 
                'STATE' => 'FL',                     
                'COUNTRYCODE' => 'US', 
                'ZIP' => '33770', 
                'AMT' => '100.00', 
                'CURRENCYCODE' => 'USD', 
                'DESC' => 'Testing Payments Pro'
                );

// Loop through $request_params array to generate the NVP string.
$nvp_string = '';
foreach($request_params as $var=>$val)
{
    $nvp_string .= '&'.$var.'='.urlencode($val);    
}

确认

// Send NVP string to PayPal and store response
$curl = curl_init();
        curl_setopt($curl, CURLOPT_VERBOSE, 1);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_TIMEOUT, 30);
        curl_setopt($curl, CURLOPT_URL, $api_endpoint);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string);

$result = curl_exec($curl);     
curl_close($curl);

// Parse the API response
$nvp_response_array = parse_str($result);

共有1个答案

宓诚
2023-03-14

在数据库中存储3步过程的变量是一个充满问题的想法。首先,你永远不想进入信用卡信息存储业务,基于你的支付提供商和其他因素,这实际上可能违反服务条款。你也必须考虑像放弃过程这样的事情。

当我建立这样一个网站时,我会有一个3(或更多)步的过程,但都在一个页面上。在一个文件上的div/模板中构建3个不同的“屏幕”,然后在不更改文件的情况下在这些div/模板之间切换。这样,数据仍然以一种常见的形式(跨越3个div/模板),并且我根本不需要处理会话或数据库上的变量存储。它也是闪电般快速切换。实际上,您唯一重要的考虑是处理后退按钮行为,这可以通过URL哈希来完成。当您到达流程的最后一个屏幕时,只需提交表单。

 类似资料:
  • 我们已经实施贝宝支付到我的网站。 我们正在用沙箱测试模式进行检查。付款通过登录与贝宝帐户工作罚款,但没有登录贝宝帐户使用卡选项付款不工作。我正在尝试测试卡的详细信息,它会显示这样的错误信息:“您输入的卡不能用于此付款。请输入其他的借记卡或信用卡号码。” 我有用户所有由贝宝提供的卡号仍有错误 https://developer.paypal.com/webapps/developer/docs/cl

  • 使用 Stripe 订阅 API,将发出,但它不包含对用于该付款的卡/源的引用。我知道附加到客户的默认源用于订阅发票上的付款,但如果默认源在发票支付和通过 webhook 接收事件之间的时间发生变化,则在我通过 webhook 接收事件时查找默认源将不是确定使用哪个付款源支付该发票的可靠方法。如何获取用于支付发票的来源?如果很重要,这是必要的,以便对成功付款进行与税收相关的操作,因此了解使用了哪张

  • Paypal为iOS开发者发布了新的SDK:Paypal iOS SDK 这个SDK允许两种支付方式: 一次性付款 我需要在我的应用程序中实现未来支付,所以用户只需一次输入他的支付细节。每隔一次金额会自动转账。 问题:可以使用PapPal帐户和信用卡进行一次性支付,但未来的支付只能使用PapPal帐户(进行未来支付)。 作为另一个选择,我尝试授权。net,但它不允许使用iOS SDK选择API进行

  • 我们正在使用安全令牌方法处理信用卡付款与贝宝托管页面。我们通过提供所需的信息来生成安全令牌 我们得到的成功结果如下: 然后我们将此发送回贝宝,在那里用户可以选择用信用卡和/或贝宝支付。 当有人用信用卡支付时,一切都很好,当有人选择用“贝宝”支付时,它会要求用户提供贝宝凭证,一旦提供,它会显示另一个屏幕来接受收费。一旦用户接受,我们会得到以下错误消息: 我从PayPal的人那里得到的帮助说:“看着日

  • 我想在我的网站上使用信用卡重复付款。我网站的访客可以不用paypal注册就用信用卡进行定期付款吗?我尝试使用订阅按钮,但当我选择用信用卡支付时,我输入了信用卡信息,然后贝宝让我在贝宝上注册(https://snag.gy/hxO2Gl.jpg)。此外,我还尝试使用信用卡进行定期付款(直接付款定期付款(DPRP)),但我必须符合PCI标准才能在我的网站上处理dredit卡。我可以通过结账页面(带有“

  • 说明 用于门店扫客人的付款码进行支付结账,支持微信支付、支付宝支付 请求地址 http://api.dc78.cn/Api/cash_code_pay 请求方式 POST 请求参数 参数 参数名称 必填 描述 范例 table 桌台 否 桌台号 2288 bzid 结算业务单号 否 建议提供,请确保本门店内唯一 201805180018 amt 结账金额 是 208.80 auth_code 付款