我正在尝试在我的网站上使用Braintree Drop-In UI和订阅服务。如何告诉我的服务器如何创建订阅?
For Instance:
用户已经在保险库中使用了付款方式,因此当他们点击提交时,我的服务器只使用给定的付款随机数来创建订阅,因为他们使用了拱形方法。
但是,如果用户添加新的付款方式该怎么办?我的服务器如何知道为它们创建新的付款方式,因为它不是拱形的,我不能只使用nonce进行新的订阅?
我真正需要知道的是,我的服务器如何知道用户正在添加新方法,而不是使用Drop-In UI中已经存储过的方法。
答案 0 :(得分:1)
完全披露:我在Braintree工作。如果您有任何其他问题,请随时与support联系。
要使用现有付款方式创建订阅,请先生成client_token
,然后传入customer_id
。
@client_token = Braintree::ClientToken.generate(
:customer_id => a_customer_id
)
将此client_token
传递到您的Drop-in用户界面后,客户之前的付款方式将在表单中。然后,客户可以选择其中一种付款方式,或者创建一种新付款方式,然后选择新的付款方式。
表单提交后,与您选择的payment_method对应的payment_method_nonce
将发送到您的服务器。然后,您可以拨打Subscription.create
,并传递payment_method_nonce
。有关详细信息,请参阅我们的payment_method_nonce
文档。
result = Braintree::Subscription.create(
:payment_method_nonce => "payment_method_nonce",
:plan_id => "silver_plan"
)