The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the GraphQL Admin API. For details and migration steps, visit our migration guide.
Transaction
orders
, marketplace_orders
.Transactions are created for every order that results in an exchange of money.

There are five types of transactions:
- Authorization: An amount reserved against the cardholder's funding source. Money does not change hands until the authorization is captured.
- Sale: An authorization and capture performed together in a single step.
- Capture: A transfer of the money that was reserved during the authorization stage.
- Void: A cancellation of a pending authorization or capture.
- Refund: A partial or full return of captured funds to the cardholder. A refund can happen only after a capture is processed.
Refund transactions must be created by using the Refund resource.
An order can have more than one authorization transaction associated with it. This might happen when an order is edited or when a post-purchase upsell is added to the order. To be notified when an order is edited subscribe to the OrderEdit webhook.
If your app captures payments, you should make a GET
request to the /admin/api/{version}/orders/{order_id}/transactions.json
endpoint to retrieve the
authorization transactions associated with an order. Then, to complete the full order payment capture, you should use the authorization
or parent_id
properties in separate capture POST
requests to the same endpoint for each authorization transaction.
An order can have no more than 100 transactions associated with it.
Endpoints
- post/admin/api/latest/orders/{order_
id}/transactions. json Creates a transaction for an order - get/admin/api/latest/orders/{order_
id}/transactions. json Retrieves a list of transactions - get/admin/api/latest/orders/{order_
id}/transactions/{transaction_ id}. json Retrieves a specific transaction - get/admin/api/latest/orders/{order_
id}/transactions/count. json Retrieves a count of an order's transactions
The Transaction resource
Properties
The amount of money included in the transaction. If you don't provide a value for amount
, then it defaults to the total cost of the order (even if a previous transaction has been made towards it).
The rounding adjustment for cash payments, to be applied on the amount to get a rounded amount.
The authorization code associated with the transaction.
The date and time (ISO 8601 format) when the Shopify Payments authorization expires.
The date and time (ISO 8601 format) when the transaction was created.
The ID for the device.
A standardized error code, independent of the payment provider. Valid values:
Show error_code properties
- incorrect_number
- invalid_number
- invalid_expiry_date
- invalid_cvc
- expired_card
- incorrect_cvc
- incorrect_zip
- incorrect_address
- card_declined
- processing_error
- call_issuer
- pick_up_card
The attributes associated with a Shopify Payments extended authorization period. It has the following attributes:
Show extended_authorization_attributes properties
- standard_authorization_expires_at: The date and time (ISO 8601 format) when the standard authorization period expires. After expiry, an extended authorization fee is applied upon capturing the payment.
- extended_authorization_expires_at: The date and time (ISO 8601 format) when the extended authorization period expires. After expiry, the merchant can't capture the payment.
extended_authorization_attributes
are available on the Retrieve a specific transaction for an order endpoint only if the following criteria applies:
- The store is on a Shopify Plus plan.
- The store uses Shopify Payments.
- The transaction being retrieved is an extended authorization, which is determined by the
capture_before
date in the charge.
extended_authorization_attributes
.
To learn more about extended authorization periods, refer to Payment authorization.The name of the gateway the transaction was issued through. A list of gateways can be found on Shopify's payment gateways page.
The ID for the transaction.
The transaction's type. Valid values:
Show kind properties
- authorization: Money that the customer has agreed to pay. The authorization period can be between 7 and 30 days (depending on your payment service) while a store waits for a payment to be captured.
- capture: A transfer of money that was reserved during the authorization of a shop.
- sale: The authorization and capture of a payment performed in one single step.
- void: The cancellation of a pending authorization or capture.
- refund: The partial or full return of captured money to the customer.
The Transaction resource
Anchor to POST request, Creates a transaction for an orderpostCreates a transaction for an order
For multi-currency orders, the currency
property is required when creating refund and capture transactions. The value should be the presentment currency from the order. For more information, refer to the Transaction resource.
Creates a transaction for an order.
An optional origin of the transaction. Set to external
to import a cash transaction for the associated order.
Create a test transaction
Create a test transaction
Show transaction properties
The amount of money included in the transaction. If you don't provide a value for amount
, then it defaults to the total cost of the order (even if a previous transaction has been made towards it).
The transaction's type. Valid values:
Show kind properties
- authorization: Money that the customer has agreed to pay. The authorization period can be between 7 and 30 days (depending on your payment service) while a store waits for a payment to be captured.
- capture: A transfer of money that was reserved during the authorization of a shop.
- sale: The authorization and capture of a payment performed in one single step.
- void: The cancellation of a pending authorization or capture.
- refund: The partial or full return of captured money to the customer.
The ID of an associated transaction.
Show parent_id properties
- For
capture
transactions, the parent needs to be anauthorization
transaction. - For
void
transactions, the parent needs to be anauthorization
transaction. - For
refund
transactions, the parent needs to be acapture
orsale
transaction.
Whether the transaction is a test transaction.
Void a transaction
Void a transaction
Show transaction properties
The amount of money included in the transaction. If you don't provide a value for amount
, then it defaults to the total cost of the order (even if a previous transaction has been made towards it).
The transaction's type. Valid values:
Show kind properties
- authorization: Money that the customer has agreed to pay. The authorization period can be between 7 and 30 days (depending on your payment service) while a store waits for a payment to be captured.
- capture: A transfer of money that was reserved during the authorization of a shop.
- sale: The authorization and capture of a payment performed in one single step.
- void: The cancellation of a pending authorization or capture.
- refund: The partial or full return of captured money to the customer.
The ID of an associated transaction.
Show parent_id properties
- For
capture
transactions, the parent needs to be anauthorization
transaction. - For
void
transactions, the parent needs to be anauthorization
transaction. - For
refund
transactions, the parent needs to be acapture
orsale
transaction.
/admin/api/2025-07/orders/450789469/transactions. json
Response
Anchor to GET request, Retrieves a list of transactionsgetRetrieves a list of transactions
Retrieves a list of transactions.
Transactions attached to multi-currency orders are in the presentment currency by default. To retrieve transactions in the shop currency, include the URL parameter in_shop_currency=true
.
Show only certain fields, specifed by a comma-separated list of fields names.
Show amounts in the shop currency.
Retrieve only transactions after the specified ID.
Retrieve an order's transactions
Retrieve an order's transactions
Retrieve an order's transactions after a specified ID
Retrieve an order's transactions after a specified ID
Retrieve only transactions after the specified ID.
/admin/api/2025-07/orders/450789469/transactions. json
Response
Anchor to GET request, Retrieves a specific transactiongetRetrieves a specific transaction
Retrieves a specific transaction.
Transactions attached to multi-currency orders are in the presentment currency by default. To retrieve transactions in the shop currency, include the URL parameter in_shop_currency=true
.
extended_authorization_attributes
are available on this endpoint only to stores on the Shopify Plus plan that use Shopify Payments. To learn more about extended authorization periods, refer to Payment authorization.
Show only certain fields, specified by a comma-separated list of field names.
Show amounts in the shop currency.
Retrieve a specific transaction for an order
Retrieve a specific transaction for an order
/admin/api/2025-07/orders/450789469/transactions/389404469. json
Response
Anchor to GET request, Retrieves a count of an order's transactionsgetRetrieves a count of an order's transactions
Retrieves a count of an order's transactions.
Count an order's transactions
Count an order's transactions