0

当前,我通过调用 API 导出所有 ARB 数据以获取所有活动的 ARB id,然后通过每个 ARB id 获取存储在每个 ID 中的信息。但是这个过程太长了,它会提出很多请求。有什么方法可以让我在一个请求中获取所有活动的 ARB ids 数据,就像任何数据库一样?

https://developer.authorize.net/api/reference/index.html#recurring-billing-get-a-list-of-subscriptions

此功能仅提供少量数据,而我需要将完整数据存储在如下配置文件中:https ://developer.authorize.net/api/reference/index.html#recurring-billing-get-subscription 但此功能仅适用对于单个 ID。

4

1 回答 1

2

新答案

不,ARBGetSubscriptionListRequest唯一返回的信息量有限。如果您需要详细信息,则需要调用ARBGetSubscriptionListRequest然后循环遍历结果并对每个订阅进行 API 调用以获取更精细的数据。

由于潜在的大量结果,您可能应该将结果存储在数据库中,然后让一堆预定的脚本进行后续的 API 调用。

旧答案

是的。你可以打电话ARBGetSubscriptionListRequest

要求:

{
    "ARBGetSubscriptionListRequest": {
        "merchantAuthentication": {
            "name": "5KP3u95bQpv",
            "transactionKey": "346HZ32z3fP4hTG2"
        },
        "refId": "123456",
        "searchType": "subscriptionActive",
        "sorting": {
            "orderBy": "id",
            "orderDescending": "false"
        },
        "paging": {
            "limit": "1000",
            "offset": "1"
        }
    }
}

回复:

{
    "totalNumInResultSet": 1273,
    "totalNumInResultSetSpecified": true,
    "subscriptionDetails": [
        {
            "id": 100188,
            "name": "subscription",
            "status": "canceled",
            "createTimeStampUTC": "2004-04-28T23:59:47.33",
            "firstName": "Joe",
            "lastName": "Tester",
            "totalOccurrences": 12,
            "pastOccurrences": 6,
            "paymentMethod": "creditCard",
            "accountNumber": "XXXX5454",
            "invoice": "42820041325496571",
            "amount": 10,
            "currencyCode": "USD"
        },
        {
            "id": 100222,
            "name": "",
            "status": "canceled",
            "createTimeStampUTC": "2004-10-22T21:00:15.503",
            "firstName": "asdf",
            "lastName": "asdf",
            "totalOccurrences": 12,
            "pastOccurrences": 0,
            "paymentMethod": "creditCard",
            "accountNumber": "XXXX1111",
            "invoice": "",
            "amount": 1,
            "currencyCode": "USD"
        },
        {
            "id": 100223,
            "name": "",
            "status": "canceled",
            "createTimeStampUTC": "2004-10-22T21:01:27.69",
            "firstName": "asdf",
            "lastName": "asdf",
            "totalOccurrences": 12,
            "pastOccurrences": 1,
            "paymentMethod": "eCheck",
            "accountNumber": "XXXX3888",
            "invoice": "",
            "amount": 10,
            "currencyCode": "USD"
        }
    ],
    "refId": "123456",
    "messages": {
        "resultCode": "Ok",
        "message": [
            {
                "code": "I00001",
                "text": "Successful."
            }
        ]
    }
}
于 2020-06-15T15:30:25.650 回答