如何使用 accept.js 和 Authorize.net 传递账单信息
How to pass Billing information using accept.js with Authorize.net
我们正在与 Authorize.net 集成,我们正在实施 Accept.js 以支持信用卡支付。唯一的问题是,在 API 参考 (http://developer.authorize.net/api/reference/features/acceptjs.html) 中似乎没有 fields/method 来获取客户的账单信息并将其传递给 Authorize.net,因此同样如此在交易详情中可用。
任何人都可以帮助我们,即如何使用 Accept.js 来询问客户账单信息吗?
非常简单,您只需将常规 API 调用中的付款数据替换为下面的 XML,包括您使用 Accept.js 收到的付款随机数 ...
<payment>
<opaqueData>
<dataDescriptor>COMMON.ACCEPT.INAPP.PAYMENT</dataDescriptor>
<dataValue>PAYMENT_NONCE</dataValue >
</opaqueData>
</payment>
而不是:
<payment>
<creditCard>
<cardNumber>5424000000000015</cardNumber>
<expirationDate>1220</expirationDate>
<cardCode>999</cardCode>
</creditCard>
</payment>
在常规 API 调用中,如下所示:
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YOUR_API_LOGIN</name>
<transactionKey>YOUR_TRANSACTION_KEY</transactionKey>
</merchantAuthentication>
<refId>123456</refId>
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>10</amount>
<payment>
<opaqueData>
<dataDescriptor>COMMON.ACCEPT.INAPP.PAYMENT</dataDescriptor>
<dataValue>PAYMENT_NONCE</dataValue >
</opaqueData>
</payment>
<order>
<invoiceNumber>INV-12345</invoiceNumber>
<description>Product Description</description>
</order>
<lineItems>
<lineItem>
<itemId>1</itemId>
<name>vase</name>
<description>Nice Vase </description>
<quantity>1</quantity>
<unitPrice>45.00</unitPrice>
</lineItem>
</lineItems>
<shipping>
<amount>4.26</amount>
<name>level2 tax name</name>
<description>level2 tax</description>
</shipping>
<poNumber>456654</poNumber>
<customer>
<id>99999456654</id>
</customer>
<billTo>
<firstName>Sue</firstName>
<lastName>Smith</lastName>
<company>ACME Vases</company>
<address>102 Main Street</address>
<city>Palm Springs</city>
<state>CA</state>
<zip>92234</zip>
<country>USA</country>
</billTo>
</transactionRequest>
</createTransactionRequest>
我们正在与 Authorize.net 集成,我们正在实施 Accept.js 以支持信用卡支付。唯一的问题是,在 API 参考 (http://developer.authorize.net/api/reference/features/acceptjs.html) 中似乎没有 fields/method 来获取客户的账单信息并将其传递给 Authorize.net,因此同样如此在交易详情中可用。
任何人都可以帮助我们,即如何使用 Accept.js 来询问客户账单信息吗?
非常简单,您只需将常规 API 调用中的付款数据替换为下面的 XML,包括您使用 Accept.js 收到的付款随机数 ...
<payment>
<opaqueData>
<dataDescriptor>COMMON.ACCEPT.INAPP.PAYMENT</dataDescriptor>
<dataValue>PAYMENT_NONCE</dataValue >
</opaqueData>
</payment>
而不是:
<payment>
<creditCard>
<cardNumber>5424000000000015</cardNumber>
<expirationDate>1220</expirationDate>
<cardCode>999</cardCode>
</creditCard>
</payment>
在常规 API 调用中,如下所示:
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>YOUR_API_LOGIN</name>
<transactionKey>YOUR_TRANSACTION_KEY</transactionKey>
</merchantAuthentication>
<refId>123456</refId>
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>10</amount>
<payment>
<opaqueData>
<dataDescriptor>COMMON.ACCEPT.INAPP.PAYMENT</dataDescriptor>
<dataValue>PAYMENT_NONCE</dataValue >
</opaqueData>
</payment>
<order>
<invoiceNumber>INV-12345</invoiceNumber>
<description>Product Description</description>
</order>
<lineItems>
<lineItem>
<itemId>1</itemId>
<name>vase</name>
<description>Nice Vase </description>
<quantity>1</quantity>
<unitPrice>45.00</unitPrice>
</lineItem>
</lineItems>
<shipping>
<amount>4.26</amount>
<name>level2 tax name</name>
<description>level2 tax</description>
</shipping>
<poNumber>456654</poNumber>
<customer>
<id>99999456654</id>
</customer>
<billTo>
<firstName>Sue</firstName>
<lastName>Smith</lastName>
<company>ACME Vases</company>
<address>102 Main Street</address>
<city>Palm Springs</city>
<state>CA</state>
<zip>92234</zip>
<country>USA</country>
</billTo>
</transactionRequest>
</createTransactionRequest>