【问题标题】:set change payment method to default braintree drop-in ui将更改付款方式设置为默认的 Braintree drop-in ui
【发布时间】:2016-01-05 21:00:58
【问题描述】:

我使用 Brain-tree 作为支付网关。在那我正在使用插入式用户界面。 在 drop-in ui 中有一个选项更改付款方式。 当我更改付款方式时,它会更改但不会设置默认值。下次交易只取旧卡,不取新卡。

我的 js

<script>
$(document).ready(function() {
    braintree.setup("{{ client_token }}", "dropin", {
        container: "checkout",
        form: "checkoutForm"
    });

    $("#submitPayment").on("click", function () {

        $("button").off("click");
        $("a").off("click");
        $('body').off("click");

        var btn = $(this).button("loading")
        setTimeout(function () {
            btn.button('reset');
        }, 3500)
    });
});
</script>

form.html

<form id='checkoutForm' method='POST' action="/upgrade/">{% csrf_token %}

            <div id='checkout' ></div>

                <input type="hidden" name="plan" value="{{ plan }}"/>
                <input name="token" type="hidden" value="{{ client_token }}" />
                <!-- disable this when clicked -->
            <button type="button" class="btn modal-action modal-close right margin-class canceleledd"
                            style="display:none;background-color:lightcoral;color: #000000;">Cancel</button>
            <input id='submitPayment' type='submit' data-loading-text="Completing..." class='btn right margin-class' value='Pay ${{ amount }}' autocomplete="off" style="background-color:lightblue;color: #000000;"/>
</form>

添加新卡时,我不知道如何将付款方式设置为默认值。 帮助将不胜感激。谢谢。

【问题讨论】:

    标签: javascript python django payment-gateway braintree


    【解决方案1】:

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

    关于设置默认支付方式有一些值得注意的地方。

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      defaultFirst 选项添加到braintree.setup,您设置的默认付款方式将被自动选择并显示在插入式用户界面中。

      braintree.setup("{{ client_token }}", "dropin", {
          container: "checkout",
          form: "checkoutForm",
          defaultFirst: true
      });
      

      braintree JS v2.24.0 中添加的功能

      文档:https://developers.braintreepayments.com/reference/client-reference/javascript/v2/configuration#setup-method-options

      来源:https://github.com/braintree/braintree-web/issues/76#issuecomment-244162120

      【讨论】:

        【解决方案3】:

        我通过在交易失败或成功后立即删除付款方式解决了这个问题。

        views.py

        payment_method_result = braintree.Transaction.sale({
                                                "customer_id": merchant_customer_id,
                                                "amount": am,
                                                "options": {
                                                            "submit_for_settlement": True
                                                          }
                                            })
                        # print dir(payment_method_result.transaction)
                        # print payment_method_result
                        # print payment_method_result.transaction
           try:
              result = braintree.PaymentMethod.delete(payment_method_result.transaction.credit_card['token'])
           except:
              pass
        

        由于是一次性支付,删除用户支付方式影响不大。 无论如何,在交易中我可以看到详细信息。 希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-11-05
          • 1970-01-01
          • 2017-04-30
          • 2015-10-10
          • 1970-01-01
          • 2015-04-03
          • 2016-11-05
          相关资源
          最近更新 更多