Braintree 支付网关 - 获取客户信息
Posted
技术标签:
【中文标题】Braintree 支付网关 - 获取客户信息【英文标题】:Braintree payment gateway - Get customer information 【发布时间】:2013-05-12 17:19:11 【问题描述】:我在我的 Web 应用程序中使用 Braintree 支付网关。我想知道我是否可以从中获取用户信息。
我无法保存卡的详细信息,这是不允许的。但是如果我需要为同一个用户进行另一笔交易,我可以从 Braintree 本身获取他的信息并自动填写卡详细信息吗?
【问题讨论】:
【参考方案1】:获得客户 ID 后,您可以使用以下 php 代码获取客户详细信息。
$customerId = 67222186;
try
$result = Braintree_Customer::find($customerId);
echo $result->id; echo "\n";
echo $result->firstName; echo "\n";
echo $result->lastName; echo "\n";
echo $result->email; echo "\n";
echo $result->phone; echo "\n";
catch (Exception $e)
echo $e->getMessage();
http://www.web-technology-experts-notes.in/2015/06/manage-customer-details-in-braintree.html
【讨论】:
【参考方案2】:我在布伦特里工作。如果您想了解更多信息,而无法在 Stack Overflow 上轻松获得,请联系我们的support team。
像 Braintree 这样的支付网关的主要优势之一是它们可以标记信用卡信息,而无需您接触这些信息。
基本上,您使用Braintree.js 来加密浏览器中的卡信息,这样您的服务器就不会看到它。
然后,您将该加密信息传递给 Braintree。作为回报,您会得到一个类似"xg67ba"
的令牌,您以后可以用它再次为同一张卡充值:
result = Braintree::Transaction.sale(
:amount => "100.00",
:customer =>
:first_name => "Dan",
:last_name => "Smith"
,
:credit_card =>
:number => "encryped_credit_card_number",
:expiration_date => "encryped_expiration_date",
:cvv => "encrypted_cvv"
,
:options =>
:store_in_vault => true
)
result.transaction.customer_details.id
#=> e.g. "131866"
result.transaction.credit_card_details.token
#=> e.g. "f6j8"
所以下一次,它看起来像:
result = Braintree::Transaction.sale(
:amount => "10.00",
:customer_id => "131866",
:credit_card => :cvv => 'encrypted_cvv'
)
每张信用卡都与客户相关联,因此如果您只想从客户的唯一/默认卡中收费,您只需提供customer id
。建议再次从客户那里获取cvv
(不允许任何人存储),但不是必需的。
【讨论】:
安卓应用可以检索卡信息吗..? @Pranav 卡信息返回到服务器,所以你可以用它做任何事情。通常,您会将其与您的一位用户相关联,因此当他们登录时,您可以让他们再次使用相同的信息。然而,这个答案已经过时了——我们有一个新的集成方法,你可以在developers.braintreepayments.com 是否可以在前端公开支付方式令牌以使其用户友好?一个很好的例子是编辑按钮<a data-token="f6j8">Edit</a>
@user3284463 如果您在服务器端进行验证,该用户可以编辑该令牌,那么是的 - 可以显示它,但不能信任它。以上是关于Braintree 支付网关 - 获取客户信息的主要内容,如果未能解决你的问题,请参考以下文章
Braintree - 使用 Paypal 详细信息创建客户
如何使用 Braintree.js 与 Braintree 支付网关集成? [关闭]