如何使用 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>