【问题标题】:Authorize.net Accept Hosted & Customer ProfilesAuthorize.net 接受托管和客户资料
【发布时间】:2018-02-08 05:52:34
【问题描述】:

背景:

我正在创建我的第一个 Authorize.net Accept Hosted 解决方案。该计划是使用商家的自定义 PHP 购物车来收集送货、账单地址,然后出示托管表格来收取付款。许多客户将是没有在 PHP 购物车中生成客户资料的“来宾”客户。

我已经使用 CURL 成功创建了一个 XML 令牌请求,并使用返回令牌来请求支付表单并填充 iframe。

问题:

我们希望将输入购物车的账单/运输信息传递给 Auth.net,这样客户就无需重新输入信息。我能够找到的文档/示例需要使用 SDK 创建客户资料才能执行此操作。

有没有更简单的方法?

我的问题:

  1. 我们可以通过令牌请求中的运输/计费吗?
  2. 我们可以通过表单请求中的运输/计费吗?
  3. 关于如何在不创建单独的客户资料交易的情况下传递此帐单/运输信息的任何其他建议?
  4. 如果我们必须为每笔交易创建客户档案,我们是否可以在不整合整个 SDK 的情况下使用 XML/CURL 创建客户档案?

提前感谢您的帮助。

【问题讨论】:

    标签: authorize.net


    【解决方案1】:

    是的,您可以将帐单和送货地址信息传递给令牌请求,然后将其预先填充为以下形式:

    <getHostedPaymentPageRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
       <merchantAuthentication>
          <name>YOUR_LOGIN_ID</name>
          <transactionKey>YOUR_TRANSACTION_KEY</transactionKey>
       </merchantAuthentication>
       <transactionRequest>
          <transactionType>authCaptureTransaction</transactionType>
          <amount>20.00</amount>
          <billTo>
             <firstName>Ellen</firstName>
             <lastName>Johnson</lastName>
             <company>Souveniropolis</company>
             <address>14 Main Street</address>
             <city>Pecan Springs</city>
             <state>TX</state>
             <zip>44628</zip>
             <country>USA</country>
          </billTo>
          <shipTo>
             <firstName>China</firstName>
             <lastName>Bayles</lastName>
             <company>Thyme for Tea</company>
             <address>12 Main Street</address>
             <city>Pecan Springs</city>
             <state>TX</state>
             <zip>44628</zip>
             <country>USA</country>
          </shipTo>
       </transactionRequest>
       <hostedPaymentSettings>
          <setting>
             <settingName>hostedPaymentBillingAddressOptions</settingName>
             <settingValue>{"show": true, "required":true}</settingValue>
          </setting>
          <setting>
             <settingName>hostedPaymentButtonOptions</settingName>
             <settingValue>{"text": "Pay"}</settingValue>
          </setting>
          <setting>
             <settingName>hostedPaymentReturnOptions</settingName>
             <settingValue>{"url":"https://www.mystore.com/good","urlText":"Continue","cancelUrl":"https://www.mystore.com/cancel","cancelUrlText":"Cancel"}</settingValue>
          </setting>
          <setting>
             <settingName>hostedPaymentShippingAddressOptions</settingName>
             <settingValue>{"show": true, "required":true}</settingValue>
          </setting>
       </hostedPaymentSettings>
    </getHostedPaymentPageRequest>
    

    是的,您也可以使用 XML/CURL 创建客户资料,而无需整合整个 SDK。

    【讨论】:

    • 我发现这种方法的问题是,一旦在结帐表格中预先填写了地址,客户就可以更改地址。我根据收货地址计算销售税,如果在税后更改地址时会出现问题。似乎没有办法在不使其在结帐表单中可供编辑的情况下传递地址。见this post
    猜你喜欢
    • 2012-11-13
    • 2016-01-05
    • 1970-01-01
    • 2018-02-21
    • 2013-03-17
    • 2013-09-18
    • 2021-08-02
    • 1970-01-01
    • 2013-05-02
    相关资源
    最近更新 更多