【问题标题】:Braintree - What to post for paymentMethodNonceBraintree - 为 paymentMethodNonce 发布什么
【发布时间】:2016-05-20 13:28:21
【问题描述】:

我刚刚开始使用 Braintree 并在 PHP 中使用它的 API。

我遇到了一件事,即从 HTML 文件发布的“paymentMethodNouce”。

我的问题是,这需要包括什么? IE。我们是否通过这里发布发送信用卡、账单信息?表格需要包含哪些内容? IE。应该是这样的:

    <form> 
      <input type="text" name="payment['creditcard']" value="124214124" />
      <input type="text" name"payment['billingaddress']" value="12312313"/>
   </form>

如果这不正确,实际上传递给paymentMethodNonce 的是什么以及如何处理信用卡详细信息?

【问题讨论】:

    标签: php paypal braintree


    【解决方案1】:

    除了WitVault's answer,从第 5 步到第 6 步还有几个解决方案。您可以通过 AJAX 调用发送它或在表单中创建隐藏输入:

    <input type="hidden" name="payment_method_nonce">
    

    当你的令牌生成时,将后者设置为输入元素的值,然后提交表单:

    var form = document.querySelector('#payment_form');
    form.addEventListener('submit', function (event) {
       event.preventDefault();
       hostedFieldsInstance.tokenize(function (tokenizeErr, payload) {
          document.querySelector('input[name="payment_method_nonce"]').value = payload.nonce;
          form.submit();
       });
    }, false);
    

    然后步骤 6 将允许您检索令牌。

    【讨论】:

      【解决方案2】:

      让我描述一下过程

      付款方式随机数

      支付方式nonce是客户端SDK返回的string代表支付方式。此字符串是对您的付款表单中提供的客户付款方式详细信息的引用,应发送到您的服务器,以便与服务器 SDK 一起使用以创建新的交易请求

      设置braintree

      1. 首先配置环境和 API 凭据

        Braintree_Configuration::environment('sandbox'); Braintree_Configuration::merchantId('use_your_merchant_id'); Braintree_Configuration::publicKey('use_your_public_key'); Braintree_Configuration::privateKey('use_your_private_key');

      2. 从您的服务器通过 ajax 调用获取 客户端令牌

        echo($clientToken = Braintree_ClientToken::generate());

      3. 使用从 Braintree 返回的客户端令牌来设置您的表单。只有当您有可用的客户端令牌时,您的表单才会可见

      4. 您的表单现在将在您的客户端上呈现。用户填写所有信息并提交表单。

      5. 如果一切顺利,braintree 将为该用户返回付款方式随机数
      6. 付款方式随机数存储在您的服务器上。

        $nonce = $_POST["payment_method_nonce"]

      7. 以后使用该付款方式nonce进行交易。

        $result = Braintree_Transaction::sale([ '金额' => '100.00', 'paymentMethodNonce' => nonceFromTheClient ]);

      【讨论】:

      • 当您从结帐表单中按下提交按钮时,它如何进入braintree服务器而不是网络服务器?
      猜你喜欢
      • 2016-08-02
      • 2017-04-15
      • 2017-01-02
      • 2015-05-01
      • 2020-10-30
      • 2017-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多