【问题标题】:braintree Authorization Verify and store credit card phpBraintree授权验证和存储信用卡php
【发布时间】:2019-03-14 13:13:33
【问题描述】:

我用 PHP 构建电子商务,这个页面应该授权信用卡。 如果有效,我会将其存储在客户页面上。

我为它写了这段代码,但我仍然不知道如何授权卡 不要充电。

代码

<?php
if($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_POST['card_number']) && !empty($_POST['card_name']) && !empty($_POST['expiry_month']) && !empty($_POST['expiry_year']) && !empty($_POST['cvv']))
{
$card_number=str_replace("+","",$_POST['card_number']);  
$card_name=$_POST['card_number'];
$expiry_month=$_POST['expiry_month'];
$expiry_year=$_POST['expiry_year'];
$cvv=$_POST['cvv'];
$expirationDate=$expiry_month.'/'.$expiry_year;

require_once 'braintree/Braintree.php';
Braintree_Configuration::environment('production'); /* this is sandbox or production */
Braintree_Configuration::merchantId('id');
Braintree_Configuration::publicKey('public');
Braintree_Configuration::privateKey('secrit ');

$result = Braintree_Transaction::sale(array(
'amount' => 0,
'creditCard' => array(
'number' => $card_number,
'cardholderName' => $card_name,
'expirationDate' => $expirationDate,
'cvv' => $cvv
)
));

//echo "<pre>";
echo $result->message;
die;
if ($result->success) 
{
    //print_r("success!: " . $result->transaction->id);
    if($result->transaction->id)
    {
        $braintreeCode=$result->transaction->id;
        echo "<h2>Your payment successfully done ".$braintreeCode."</h2>";
    }
}else if ($result->transaction){
        echo "<pre>";
        print_r($result->transaction);
        //echo '{"OrderStatus": [{"status":"2"}]}';

}else{

    echo "<h2>Your payment is not completed</h2>";
}

}
?>

【问题讨论】:

  • 在这里分享错误。 paymentMethodToken 中缺少 sale()
  • 你从哪里使用payment_method_nonce
  • 这认为付款方式很好,他们需要对其进行授权验证,然后将其存储在客户页面中,我没有得到它的示例来处理它

标签: php braintree


【解决方案1】:

全面披露:我在 Braintree 工作。如果您还有其他问题,请随时联系 support.

您尝试做的最简单的解决方法是将storeInVault 参数传递给您的Transaction::sale() 调用。只要付款成功,这会将客户信息保存到您的保险库中。

此外,您可以通过使用 verifyCard 参数将我们的 Customer::create() 调用集成到您的代码中来创建客户。

【讨论】:

    【解决方案2】:

    我建议遵循https://developers.braintreepayments.com/guides/transactions/php的官方指南

    您收集信用卡数据(例如卡号或到期日)的方式不符合 Braintree 规定的要求,并可能导致您的帐户被暂停或终止。

    您的服务器将无法使用信用卡数据。您应该使用Drop-in UIHosted fields

    【讨论】:

    • 我知道,但我想验证并存储它
    猜你喜欢
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 2016-10-16
    • 2021-11-18
    • 2021-08-28
    • 2017-06-20
    • 2019-03-07
    相关资源
    最近更新 更多