使用Drop-In UI处理不同的案例

时间:2016-08-08 16:25:53

标签: braintree

我正在尝试在我的网站上使用Braintree Drop-In UI和订阅服务。如何告诉我的服务器如何创建订阅?

For Instance:

用户已经在保险库中使用了付款方式,因此当他们点击提交时,我的服务器只使用给定的付款随机数来创建订阅,因为他们使用了拱形方法。

但是,如果用户添加新的付款方式该怎么办?我的服务器如何知道为它们创建新的付款方式,因为它不是拱形的,我不能只使用nonce进行新的订阅?

我真正需要知道的是,我的服务器如何知道用户正在添加新方法,而不是使用Drop-In UI中已经存储过的方法。

1 个答案:

答案 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"
)