我正在使用Authorize.net,并且花了几天时间审阅文档但是对于我的生活,我似乎无法找到一种方法来存储客户的信用卡信息而不会让卡片进入我们的服务器
在Accept.js documentation中,似乎他们授予了15分钟可用的随机数,但我没有看到使用该随机数来存储卡的方法。有没有办法使用他们的JS库来创建客户?
这似乎应该是如此基本的东西,但无论出于何种原因,我找不到它。
答案 0 :(得分:1)
通过将付款对象替换为指定卡数据以使用现时,可以使用随机数或一次性令牌来创建客户配置文件:
使用createCustomerProfileRequest时,请将支付对象更改为指定卡片数据,如下所示:
<payment>
<creditCard>
<cardNumber>4111111111111111</cardNumber>
<expirationDate>2020-12</expirationDate>
</creditCard>
</payment>
并更改付款对象以使用现时:
<payment>
<opaqueData>
<dataDescriptor>COMMON.ACCEPT.INAPP.PAYMENT</dataDescriptor>
<dataValue>nonce_here</dataValue >
</opaqueData>
</payment>
答案 1 :(得分:0)
Authorize.net声明您可以在任何可以使用银行信息或信用卡信息的地方使用来自access.js的Nonce。但文档还不清楚。
我花了一分钟才找到它,但是您正在使用其中一个SDK,那么您可以在repos中查看有关如何创建opaqueData对象并将其传递到付款对象的示例。
Python example of creating a payment transaction with a nonce
使用Access.js捕获Opaque对象(成功时的返回值),然后将其传递给服务器,它包含dataValue(nonce)和dataDescriptor。然后,按照示例项目示例了解如何创建付款资料,但使用以下内容替换付款信息。
# PYTHON EXAMPLE
opaqueData = apicontractsv1.opaqueDataType()
opaqueData.dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT"
# This is the nonce you get back from the server. This particular one
# is from the example I linked above but shortened to fit the width of
# this view.
opaqueData.dataValue = "119eyJjb2RlIjoiNTBfMl8wNjAwMDUyN0J..."
# Add the payment data to a paymentType object
payment = apicontractsv1.paymentType()
payment.opaqueData = opaqueData
# Now you can use this payment object anywhere you'd use the typical
# creditcard or bankinfo payment objects. Including creating payment profiles.