php - Braintree 交易销售存储在金库中并正确使用随机数和 token

标签 php paypal braintree

我有几个问题:

我可以存储信用卡/ Paypal 方式进行销售,同时防止重复吗?或者,在使用storeInVaultOnSuccess时,重复项只会产生错误。 “重复方法”错误会导致销售失败吗?

我可以使用 Braintree_Transaction::sale 创建客户吗? “重复客户”错误会导致销售失败吗?

有没有办法结合起来对 paymentMethodNonce paymentMethodToken 进行“非此即彼”?

最后是安全问题。 Braintree 是否确保客户的 paymenthMethodToken 与销售的 customerId 匹配?为了确保一个客户方法的 token 不能用于完成另一客户的销售。

if($paymentMethodNonce){
  if($save){
    $create=Braintree_PaymentMethod::create([
      "customerId"=>$customerId,
      "paymentMethodNonce"=>$paymentMethodNonce,
      "options"=>["failOnDuplicatePaymentMethod"=>true]
    ]);      
  }
  $sale=Braintree_Transaction::sale([
    "amount"=>$cost,
    "paymentMethodNonce"=>$paymentMethodNonce,
    "customerId"=>$customerId
  ]);
}
else if($paymentMethodToken){
  $sale=Braintree_Transaction::sale([
    "amount"=>$cost,
    "paymentMethodToken"=>$paymentMethodToken,
    "customerId"=>$customerId
  ]);
}

最佳答案

为了回答您的最后一个问题,如果您在创建销售时同时包含 paymentMethodToken customerId ,我们要求 paymentMethodToken 属于发送给所提供的 customerId 指定的客户。如果它不属于指定的客户,我们会抛出 Transaction Error代码为 91516(不能同时提供 payment_method_token 和 customer_id,除非 payment_method 属于客户)。

关于php - Braintree 交易销售存储在金库中并正确使用随机数和 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33332147/

相关文章:

php - PHP 是否有像 Rails 这样的真实性 token ?

javascript - 为什么 jqGrid 拒绝使用 OnSelectRow 事件多次调用它的 Ajax 调用

PHP 防止 strip_tags 删除损坏的标签

PayPal CreateRecurringPaymentsProfile 计费频率

php - Paypal 方法是否可以进行零金额交易?

ios - 我如何使用 Paypal 进行拆分付款

php - 在 ubuntu 上安装 phpmyadmin 后,用户 'root' @'localhost' 的访问被拒绝

Paypal 支付API "Incoming JSON request does not map to API request"

ios - Braintree:在沙盒模式下创建或更新具有 CVV 验证的客户时出现授权错误

mysql - Node js 数据库中的 Braintree 集成问题