Get past orders
Retrieves historical billing attempts including successful, failed, and skipped orders. Returns completed billing attempts for reporting and history display.
Query Options:
- No params: All past orders for shop
- contractId: Order history for specific contract
- customerId: Order history for specific customer
Use Cases:
- Display order history in customer portal
- Generate billing reports
- Track payment success/failure rates
- Customer service order lookup
Authentication: Requires API key authentication via X-API-Key header or api_key parameter
curl --request GET \
--url https://membership-admin.appstle.com/api/external/v2/subscription-billing-attempts/past-ordersimport requests
url = "https://membership-admin.appstle.com/api/external/v2/subscription-billing-attempts/past-orders"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://membership-admin.appstle.com/api/external/v2/subscription-billing-attempts/past-orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://membership-admin.appstle.com/api/external/v2/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://membership-admin.appstle.com/api/external/v2/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://membership-admin.appstle.com/api/external/v2/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://membership-admin.appstle.com/api/external/v2/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": "my-store.myshopify.com",
"applyUsageCharge": true,
"attemptCount": 1,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 67890,
"graphOrderId": "<string>",
"id": 12345,
"orderAmount": 29.99,
"orderAmountUSD": 123,
"orderId": 123,
"orderName": "#1001",
"orderNote": "<string>",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"upgradeDowngradeBilling": true,
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"sellingPlanId": "<string>",
"title": "<string>",
"variantId": 123
}
]
}
][
{
"retryingNeeded": true,
"shop": "my-store.myshopify.com",
"applyUsageCharge": true,
"attemptCount": 1,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 67890,
"graphOrderId": "<string>",
"id": 12345,
"orderAmount": 29.99,
"orderAmountUSD": 123,
"orderId": 123,
"orderName": "#1001",
"orderNote": "<string>",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"upgradeDowngradeBilling": true,
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"sellingPlanId": "<string>",
"title": "<string>",
"variantId": 123
}
]
}
]Headers
Query Parameters
API Key (Deprecated - Use Header X-API-Key instead)
Filter by membership contract ID
Filter by customer ID
Show child attributes
Show child attributes
Response
Past orders retrieved successfully
Shop domain identifier
"my-store.myshopify.com"
Number of billing retry attempts
1
Shopify billing attempt ID
Scheduled billing date for this attempt
Associated subscription contract ID
67890
Unique identifier of the billing attempt record
12345
Total order amount
29.99
Shopify order ID if billing was successful
Shopify order name/number
"#1001"
Order note or special instructions
SENT, UNSENT, FAILED, EMAIL_SETTINGS_DISABLED, CONTRACT_CANCELLED Current status of the billing attempt
SUCCESS, FAILURE, REQUESTING, PROGRESS, QUEUED, SKIPPED, SOCIAL_CONNECTION_NULL, CONTRACT_CANCELLED, CONTRACT_ENDED, CONTRACT_PAUSED, AUTO_CHARGE_DISABLED, SKIPPED_DUNNING_MGMT, SECURITY_CHALLENGE, SHOPIFY_EXCEPTION SENT, UNSENT, FAILED, EMAIL_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_CANCELLED SENT, UNSENT, FAILED, SMS_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_CANCELLED, PHONE_NUMBER_EMPTY SENT, UNSENT, FAILED, EMAIL_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_CANCELLED, STOP_FROM_CONTRACT, CONTRACT_PAUSED SENT, UNSENT, FAILED, SMS_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_CANCELLED, STOP_FROM_CONTRACT, CONTRACT_PAUSED, PHONE_NUMBER_EMPTY SUCCESS, FAILED, TO_BE_TRIED Show child attributes
Show child attributes
curl --request GET \
--url https://membership-admin.appstle.com/api/external/v2/subscription-billing-attempts/past-ordersimport requests
url = "https://membership-admin.appstle.com/api/external/v2/subscription-billing-attempts/past-orders"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://membership-admin.appstle.com/api/external/v2/subscription-billing-attempts/past-orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://membership-admin.appstle.com/api/external/v2/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://membership-admin.appstle.com/api/external/v2/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://membership-admin.appstle.com/api/external/v2/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://membership-admin.appstle.com/api/external/v2/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": "my-store.myshopify.com",
"applyUsageCharge": true,
"attemptCount": 1,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 67890,
"graphOrderId": "<string>",
"id": 12345,
"orderAmount": 29.99,
"orderAmountUSD": 123,
"orderId": 123,
"orderName": "#1001",
"orderNote": "<string>",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"upgradeDowngradeBilling": true,
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"sellingPlanId": "<string>",
"title": "<string>",
"variantId": 123
}
]
}
][
{
"retryingNeeded": true,
"shop": "my-store.myshopify.com",
"applyUsageCharge": true,
"attemptCount": 1,
"attemptTime": "2023-11-07T05:31:56Z",
"billingAttemptId": "<string>",
"billingAttemptResponseMessage": "<string>",
"billingDate": "2023-11-07T05:31:56Z",
"contractId": 67890,
"graphOrderId": "<string>",
"id": 12345,
"orderAmount": 29.99,
"orderAmountUSD": 123,
"orderId": 123,
"orderName": "#1001",
"orderNote": "<string>",
"progressAttemptCount": 123,
"recurringChargeId": 123,
"securityChallengeSentStatus": "SENT",
"status": "SUCCESS",
"transactionFailedEmailSentStatus": "SENT",
"transactionFailedSmsSentStatus": "SENT",
"transactionRate": 123,
"upcomingOrderEmailSentStatus": "SENT",
"upcomingOrderSmsSentStatus": "SENT",
"upgradeDowngradeBilling": true,
"usageChargeStatus": "SUCCESS",
"variantList": [
{
"image": "<string>",
"productId": "<string>",
"productTitle": "<string>",
"quantity": 123,
"sellingPlanId": "<string>",
"title": "<string>",
"variantId": 123
}
]
}
]