【发布时间】:2017-05-06 00:14:42
【问题描述】:
我们正在开发一个类似于 Uber 的 cordova 应用程序。 工作流程很简单:用户请求一项服务,分配一个助理,工作完成后,按小时数向用户收费。
我让服务器从 Braintree 生成客户端令牌
$clientToken = Braintree_ClientToken::generate();
并且可以要求用户在第一次请求时只输入一次他的信用卡详细信息,之后我创建一个 Braintree_customer 对象
$result = Braintree_Customer::create(array(
'paymentMethodNonce' => $payment_token
));
并将令牌存储在我的数据库中。
$payment = new Payment;
$payment->owner_id = $owner_id;
$payment->customer_id = $customer_id;
$payment->last_four = $last_four;
$payment->card_token = $result->customer->creditCards[0]->token;
$payment->save();
我可以将此客户 ID 用于所有后续交易吗?
Braintree_Transaction::sale(array(
'amount' => $total,
'paymentMethodNonce' => $customer_id
));
在这种情况下,我们希望用户只输入一次他的卡详细信息,并且即使在一个月左右之后他下次创建另一个请求时,我们应该能够向他收费而不必输入他的卡详细信息。
我能否获得一个简单的工作流程,说明我们如何实现这一点以及示例(如果有)?
【问题讨论】: