Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ui中将更改付款方式设置为默认braintree drop_Javascript_Python_Django_Payment Gateway_Braintree - Fatal编程技术网

Javascript 在ui中将更改付款方式设置为默认braintree drop

Javascript 在ui中将更改付款方式设置为默认braintree drop,javascript,python,django,payment-gateway,braintree,Javascript,Python,Django,Payment Gateway,Braintree,我使用大脑树作为支付网关。因为我使用的是drop-In-UI。 在下拉界面中,有一个选项“更改付款方式”。 当我更改付款方式时,它会被更改,但不会设置默认值。下一笔交易只取旧卡,不取新卡 我的js $(文档).ready(函数(){ setup(“{{client\u token}}”,“dropin”{ 容器:“签出”, 表格:“检查表” }); $(“#提交支付”)。在(“单击”,函数(){ $(“按钮”)。关闭(“单击”); $(“a”)。关闭(“单击”); $('body')。关闭(“

我使用大脑树作为支付网关。因为我使用的是drop-In-UI。 在下拉界面中,有一个选项“更改付款方式”。 当我更改付款方式时,它会被更改,但不会设置默认值。下一笔交易只取旧卡,不取新卡

我的js


$(文档).ready(函数(){
setup(“{{client\u token}}”,“dropin”{
容器:“签出”,
表格:“检查表”
});
$(“#提交支付”)。在(“单击”,函数(){
$(“按钮”)。关闭(“单击”);
$(“a”)。关闭(“单击”);
$('body')。关闭(“单击”);
var btn=$(此).button(“加载”)
setTimeout(函数(){
btn.按钮(“重置”);
}, 3500)
});
});
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>
{%csrf\u令牌%}
取消
我不知道如何设置付款方式为默认时,添加新卡。
我们将不胜感激。谢谢。

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

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
由于是一次性付款,删除用户付款方式对其影响不大。 无论如何,在交易中我可以看到细节。 希望这能对某些人有所帮助。

完全披露:我在Braintree工作。如果您有任何进一步的问题,请随时联系

关于设置默认付款方式,有一些事情值得注意

  • 为客户创建的第一种付款方式是
  • 生成客户机令牌时,可以传入一个选项以使
  • API还允许您为客户提供服务

希望这有助于将
defaultFirst
选项添加到
braintree中。设置
和设置的默认付款方式将自动选择并显示在下拉式界面中

braintree.setup("{{ client_token }}", "dropin", {
    container: "checkout",
    form: "checkoutForm",
    defaultFirst: true
});
braintree JS v2.24.0中添加的功能

文件:

资料来源:

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