Billing & Payments
Get past orders
Retrieves paginated list of past (processed) billing attempts for the whole shop, a subscription contract, or a customer. Includes successful orders, failed attempts, and skipped orders. Upcoming (QUEUED) orders are not included.
Filter Options:
- No filter: Get past orders across all subscription contracts of the shop (use this for bulk sync / data pipelines instead of calling once per contract)
- By contract ID: Get order history for specific subscription
- By customer ID: Get all orders across all customer subscriptions
- If both
contractIdandcustomerIdare passed,contractIdtakes precedence
Pagination:
- Query parameters:
page(zero-based, default 0),size(default 20, recommended max 250) - Results are sorted by attempt time (or billing date when not yet attempted), newest first
- Response headers:
X-Total-Count(total number of records) andLink(next/prev/first/last page URLs) - Keep requesting the next page until the response is an empty array or
pagereaches the last page
Example (all past orders of the shop):
GET /api/external/v2/subscription-billing-attempts/past-orders?page=0&size=250
Notes:
- New orders created while paging shift results between pages; de-duplicate on
id, or use the past orders report endpoint with a fixedtoDayfor a stable window - Line items (
variantList) are served from cached Shopify order data. For orders not yet cached the list may be empty on the first request and is populated on subsequent requests
Order Information:
- Billing attempt status (SUCCESS, FAILED, SKIPPED)
- Shopify order ID for successful attempts
- Billing date and processing date
- Order total and line items
- Error messages for failed attempts
Authentication: Requires valid X-API-Key header
GET
/
subscriptions
/
cp
/
api
/
subscription-billing-attempts
/
past-orders
Get past orders
curl --request GET \
--url https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-ordersimport requests
url = "https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders';
const options = {method: 'GET'};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"retryingNeeded": true,
"shop": "<string>",
"applyUsageCharge": true,
"attemptCount": 123,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 123,
"graphOrderId": "<string>",
"id": 123,
"inventorySkippedAttemptCount": 123,
"inventorySkippedRetryingNeeded": true,
"lastShippingUpdatedAt": "2023-11-07T05:31:56Z",
"orderAmount": 123,
"orderAmountContractCurrency": 123,
"orderAmountShopCurrency": 123,
"orderAmountUSD": 123,
"orderAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"orderCancelReason": "CUSTOMER",
"orderCancelledAt": "2023-11-07T05:31:56Z",
"orderClosed": true,
"orderClosedAt": "2023-11-07T05:31:56Z",
"orderConfirmed": true,
"orderDisplayFinancialStatus": "PENDING",
"orderDisplayFulfillmentStatus": "UNFULFILLED",
"orderId": 123,
"orderName": "<string>",
"orderNote": "<string>",
"orderProcessedAt": "2023-11-07T05:31:56Z",
"partialLinesSkipped": "INVENTORY_MANAGEMENT",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"swapId": 123,
"title": "<string>",
"variantId": 123,
"variantTitle": "<string>"
}
]
}
][
{
"retryingNeeded": true,
"shop": "<string>",
"applyUsageCharge": true,
"attemptCount": 123,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 123,
"graphOrderId": "<string>",
"id": 123,
"inventorySkippedAttemptCount": 123,
"inventorySkippedRetryingNeeded": true,
"lastShippingUpdatedAt": "2023-11-07T05:31:56Z",
"orderAmount": 123,
"orderAmountContractCurrency": 123,
"orderAmountShopCurrency": 123,
"orderAmountUSD": 123,
"orderAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"orderCancelReason": "CUSTOMER",
"orderCancelledAt": "2023-11-07T05:31:56Z",
"orderClosed": true,
"orderClosedAt": "2023-11-07T05:31:56Z",
"orderConfirmed": true,
"orderDisplayFinancialStatus": "PENDING",
"orderDisplayFulfillmentStatus": "UNFULFILLED",
"orderId": 123,
"orderName": "<string>",
"orderNote": "<string>",
"orderProcessedAt": "2023-11-07T05:31:56Z",
"partialLinesSkipped": "INVENTORY_MANAGEMENT",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"swapId": 123,
"title": "<string>",
"variantId": 123,
"variantTitle": "<string>"
}
]
}
][
{
"retryingNeeded": true,
"shop": "<string>",
"applyUsageCharge": true,
"attemptCount": 123,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 123,
"graphOrderId": "<string>",
"id": 123,
"inventorySkippedAttemptCount": 123,
"inventorySkippedRetryingNeeded": true,
"lastShippingUpdatedAt": "2023-11-07T05:31:56Z",
"orderAmount": 123,
"orderAmountContractCurrency": 123,
"orderAmountShopCurrency": 123,
"orderAmountUSD": 123,
"orderAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"orderCancelReason": "CUSTOMER",
"orderCancelledAt": "2023-11-07T05:31:56Z",
"orderClosed": true,
"orderClosedAt": "2023-11-07T05:31:56Z",
"orderConfirmed": true,
"orderDisplayFinancialStatus": "PENDING",
"orderDisplayFulfillmentStatus": "UNFULFILLED",
"orderId": 123,
"orderName": "<string>",
"orderNote": "<string>",
"orderProcessedAt": "2023-11-07T05:31:56Z",
"partialLinesSkipped": "INVENTORY_MANAGEMENT",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"swapId": 123,
"title": "<string>",
"variantId": 123,
"variantTitle": "<string>"
}
]
}
][
{
"retryingNeeded": true,
"shop": "<string>",
"applyUsageCharge": true,
"attemptCount": 123,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 123,
"graphOrderId": "<string>",
"id": 123,
"inventorySkippedAttemptCount": 123,
"inventorySkippedRetryingNeeded": true,
"lastShippingUpdatedAt": "2023-11-07T05:31:56Z",
"orderAmount": 123,
"orderAmountContractCurrency": 123,
"orderAmountShopCurrency": 123,
"orderAmountUSD": 123,
"orderAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"orderCancelReason": "CUSTOMER",
"orderCancelledAt": "2023-11-07T05:31:56Z",
"orderClosed": true,
"orderClosedAt": "2023-11-07T05:31:56Z",
"orderConfirmed": true,
"orderDisplayFinancialStatus": "PENDING",
"orderDisplayFulfillmentStatus": "UNFULFILLED",
"orderId": 123,
"orderName": "<string>",
"orderNote": "<string>",
"orderProcessedAt": "2023-11-07T05:31:56Z",
"partialLinesSkipped": "INVENTORY_MANAGEMENT",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"swapId": 123,
"title": "<string>",
"variantId": 123,
"variantTitle": "<string>"
}
]
}
]Response
Successfully retrieved past orders
Show child attributes
Show child attributes
Available options:
CUSTOMER, DECLINED, FRAUD, INVENTORY, STAFF, OTHER, $UNKNOWN Available options:
PENDING, AUTHORIZED, PARTIALLY_PAID, PARTIALLY_REFUNDED, VOIDED, PAID, REFUNDED, EXPIRED, $UNKNOWN Available options:
UNFULFILLED, PARTIALLY_FULFILLED, FULFILLED, RESTOCKED, PENDING_FULFILLMENT, OPEN, IN_PROGRESS, ON_HOLD, SCHEDULED, REQUEST_DECLINED, $UNKNOWN Available options:
INVENTORY_MANAGEMENT, MANUAL, ORPHANED_FREE_PRODUCT Available options:
SENT, UNSENT, FAILED, EMAIL_SETTINGS_DISABLED, CONTRACT_CANCELLED Available options:
SUCCESS, FAILURE, REQUESTING, PROGRESS, QUEUED, SKIPPED, SOCIAL_CONNECTION_NULL, CONTRACT_CANCELLED, CONTRACT_ENDED, CONTRACT_PAUSED, AUTO_CHARGE_DISABLED, SHOPIFY_EXCEPTION, SKIPPED_DUNNING_MGMT, SKIPPED_INVENTORY_MGMT, IMMEDIATE_TRIGGERED, SECURITY_CHALLENGE, CONTRACT_PAUSED_MAX_CYCLES, REFUNDED, SKIPPED_DEMO_SHOP, SKIPPED_SHOP_INFO_NOT_FOUND, SKIPPED_BILLING_DATE_STALE, SKIPPED_DUNNING_NOT_CONFIGURED, PENDING_CONSOLIDATION Available options:
SENT, UNSENT, FAILED, EMAIL_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_CANCELLED Available options:
SENT, UNSENT, FAILED, SMS_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_CANCELLED, PHONE_NUMBER_EMPTY Available options:
SENT, UNSENT, FAILED, EMAIL_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_CANCELLED, STOP_FROM_CONTRACT, CONTRACT_PAUSED Available options:
SENT, UNSENT, FAILED, SMS_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_CANCELLED, STOP_FROM_CONTRACT, CONTRACT_PAUSED, PHONE_NUMBER_EMPTY Available options:
SUCCESS, FAILED, TO_BE_TRIED Show child attributes
Show child attributes
⌘I
Get past orders
curl --request GET \
--url https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-ordersimport requests
url = "https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders';
const options = {method: 'GET'};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/past-orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"retryingNeeded": true,
"shop": "<string>",
"applyUsageCharge": true,
"attemptCount": 123,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 123,
"graphOrderId": "<string>",
"id": 123,
"inventorySkippedAttemptCount": 123,
"inventorySkippedRetryingNeeded": true,
"lastShippingUpdatedAt": "2023-11-07T05:31:56Z",
"orderAmount": 123,
"orderAmountContractCurrency": 123,
"orderAmountShopCurrency": 123,
"orderAmountUSD": 123,
"orderAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"orderCancelReason": "CUSTOMER",
"orderCancelledAt": "2023-11-07T05:31:56Z",
"orderClosed": true,
"orderClosedAt": "2023-11-07T05:31:56Z",
"orderConfirmed": true,
"orderDisplayFinancialStatus": "PENDING",
"orderDisplayFulfillmentStatus": "UNFULFILLED",
"orderId": 123,
"orderName": "<string>",
"orderNote": "<string>",
"orderProcessedAt": "2023-11-07T05:31:56Z",
"partialLinesSkipped": "INVENTORY_MANAGEMENT",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"swapId": 123,
"title": "<string>",
"variantId": 123,
"variantTitle": "<string>"
}
]
}
][
{
"retryingNeeded": true,
"shop": "<string>",
"applyUsageCharge": true,
"attemptCount": 123,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 123,
"graphOrderId": "<string>",
"id": 123,
"inventorySkippedAttemptCount": 123,
"inventorySkippedRetryingNeeded": true,
"lastShippingUpdatedAt": "2023-11-07T05:31:56Z",
"orderAmount": 123,
"orderAmountContractCurrency": 123,
"orderAmountShopCurrency": 123,
"orderAmountUSD": 123,
"orderAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"orderCancelReason": "CUSTOMER",
"orderCancelledAt": "2023-11-07T05:31:56Z",
"orderClosed": true,
"orderClosedAt": "2023-11-07T05:31:56Z",
"orderConfirmed": true,
"orderDisplayFinancialStatus": "PENDING",
"orderDisplayFulfillmentStatus": "UNFULFILLED",
"orderId": 123,
"orderName": "<string>",
"orderNote": "<string>",
"orderProcessedAt": "2023-11-07T05:31:56Z",
"partialLinesSkipped": "INVENTORY_MANAGEMENT",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"swapId": 123,
"title": "<string>",
"variantId": 123,
"variantTitle": "<string>"
}
]
}
][
{
"retryingNeeded": true,
"shop": "<string>",
"applyUsageCharge": true,
"attemptCount": 123,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 123,
"graphOrderId": "<string>",
"id": 123,
"inventorySkippedAttemptCount": 123,
"inventorySkippedRetryingNeeded": true,
"lastShippingUpdatedAt": "2023-11-07T05:31:56Z",
"orderAmount": 123,
"orderAmountContractCurrency": 123,
"orderAmountShopCurrency": 123,
"orderAmountUSD": 123,
"orderAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"orderCancelReason": "CUSTOMER",
"orderCancelledAt": "2023-11-07T05:31:56Z",
"orderClosed": true,
"orderClosedAt": "2023-11-07T05:31:56Z",
"orderConfirmed": true,
"orderDisplayFinancialStatus": "PENDING",
"orderDisplayFulfillmentStatus": "UNFULFILLED",
"orderId": 123,
"orderName": "<string>",
"orderNote": "<string>",
"orderProcessedAt": "2023-11-07T05:31:56Z",
"partialLinesSkipped": "INVENTORY_MANAGEMENT",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"swapId": 123,
"title": "<string>",
"variantId": 123,
"variantTitle": "<string>"
}
]
}
][
{
"retryingNeeded": true,
"shop": "<string>",
"applyUsageCharge": true,
"attemptCount": 123,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 123,
"graphOrderId": "<string>",
"id": 123,
"inventorySkippedAttemptCount": 123,
"inventorySkippedRetryingNeeded": true,
"lastShippingUpdatedAt": "2023-11-07T05:31:56Z",
"orderAmount": 123,
"orderAmountContractCurrency": 123,
"orderAmountShopCurrency": 123,
"orderAmountUSD": 123,
"orderAttributes": [
{
"key": "<string>",
"value": "<string>"
}
],
"orderCancelReason": "CUSTOMER",
"orderCancelledAt": "2023-11-07T05:31:56Z",
"orderClosed": true,
"orderClosedAt": "2023-11-07T05:31:56Z",
"orderConfirmed": true,
"orderDisplayFinancialStatus": "PENDING",
"orderDisplayFulfillmentStatus": "UNFULFILLED",
"orderId": 123,
"orderName": "<string>",
"orderNote": "<string>",
"orderProcessedAt": "2023-11-07T05:31:56Z",
"partialLinesSkipped": "INVENTORY_MANAGEMENT",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"swapId": 123,
"title": "<string>",
"variantId": 123,
"variantTitle": "<string>"
}
]
}
]