Billing & Payments
Reschedule a billing attempt to a new date
Changes the scheduled billing date for a billing attempt. This allows customers to adjust when their next order will be processed.
Rescheduling Options:
- Move to earlier date (if allowed by shop settings)
- Move to later date
- Optionally reschedule all future orders by the same offset
Important Behaviors:
- Only QUEUED billing attempts can be rescheduled
- New date must be in the future
- Can affect future billing schedule if rescheduleFutureOrder is true
- Activity logs are created for audit trail
Use Cases:
- Customer wants to delay next delivery
- Customer wants to receive order earlier
- Adjust delivery schedule to align with customer needs
- Coordinate deliveries with customer vacation/travel
Authentication: Requires valid X-API-Key header
PUT
/
subscriptions
/
cp
/
api
/
subscription-billing-attempts
/
reschedule-order
/
{id}
Reschedule a billing attempt to a new date
curl --request PUT \
--url https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/reschedule-order/{id}import requests
url = "https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/reschedule-order/{id}"
response = requests.put(url)
print(response.text)const options = {method: 'PUT'};
fetch('https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/reschedule-order/{id}', 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/reschedule-order/{id}';
const options = {method: 'PUT'};
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/reschedule-order/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
]);
$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/reschedule-order/{id}"
req, _ := http.NewRequest("PUT", 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/reschedule-order/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.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>"
}
]
}{
"detail": "New billing date must be in the future",
"status": 400,
"title": "Invalid reschedule date",
"type": "https://example.com/errors/bad-request"
}{
"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>"
}
]
}Path Parameters
Response
Order successfully rescheduled
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
Reschedule a billing attempt to a new date
curl --request PUT \
--url https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/reschedule-order/{id}import requests
url = "https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/reschedule-order/{id}"
response = requests.put(url)
print(response.text)const options = {method: 'PUT'};
fetch('https://www.myshop.com/apps/subscriptions/cp/api/subscription-billing-attempts/reschedule-order/{id}', 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/reschedule-order/{id}';
const options = {method: 'PUT'};
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/reschedule-order/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
]);
$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/reschedule-order/{id}"
req, _ := http.NewRequest("PUT", 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/reschedule-order/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.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>"
}
]
}{
"detail": "New billing date must be in the future",
"status": 400,
"title": "Invalid reschedule date",
"type": "https://example.com/errors/bad-request"
}{
"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>"
}
]
}