【问题标题】:Merchant authentication using JSON request - Authorize.Net使用 JSON 请求的商家身份验证 - Authorize.Net
【发布时间】:2025-12-27 10:45:16
【问题描述】:

此文档Click here 清楚地告诉我有关商家身份验证的信息。但是它们只提供内容类型:text/xml。它的 Api 端点是 https://apitest.authorize.net/xml/v1/request.api(沙盒帐户)。

如何发送以名称和事务密钥为键的 JSON 请求?另外,我应该将此请求发送到哪个端点以进行商家身份验证?

官方文档没有帮助。 :'( 希望你能做到。DHC 或 HttpClientRequester 也无济于事。出现错误。

【问题讨论】:

  • 我不相信 API 还提供 json
  • @JohnConde 嗯.. 是的。我想你是对的。 :-/ 为什么不呢?
  • 它很快就会到来。 :)
  • JSON 现在是 Authorize.Net 的测试版:community.developer.authorize.net/t5/…

标签: java php ruby-on-rails json authorize.net


【解决方案1】:

Authorize.net 现在可以使用 JSON。 以下是一个有效的 JSON 字符串,您可以使用您使用的任何平台以及您自己的登录名和密钥发送给 Authorize。

我应该注意到,尽管 JSON 通常不关心值的发送顺序,但 Authorize 使用一种 kludgy 方法在内部将 JSON 转换为 XML,因此顺序实际上很重要。

{
"createTransactionRequest": {
    "merchantAuthentication": {
        "name": "yourLoginKey",
        "transactionKey": "yourSecretKey"
    },
    "refId": "12345",
    "transactionRequest": {
        "transactionType": "authCaptureTransaction",
        "amount": "3.99",
        "payment": {
            "creditCard": {
                "cardNumber": "4111111111111111",
                "expirationDate": "0522",
                "cardCode": "123"
            }
        },
        "customer": {
            "id": "John Doe"
        },
        "billTo": {
            "firstName": "John",
            "lastName": "Doe",
            "address": "123 My Street",
            "city": "Chicago",
            "state": "IL",
            "zip": "60007",
            "country": "USA"
        }
    }
}

}

【讨论】: