Order Payment Success

🔒

Requires write_order access scope. More access scope

This interface defaults to using a test payment gateway, which simulates the completion of orders and payment, so the corresponding payment amount does not participate in the store's sales statistics.

The Order Payment Success API finalizes payment for an order and updates its status to indicate that payment has been completed. Once the payment succeeds, the order’s status becomes "placed", and its financial status changes to "paid".

This API is especially useful for:

  1. Completing an order checkout process.
  2. Confirming payment receipt and updating order records.
  3. Triggering post-payment workflows (e.g., sending order confirmation emails).

Request Parameters

Public Request Parameters

📘

Public Request Parameters

Path Parameter

NameTypeRequiredDescExample
idstringYesThe unique ID of the order to be marked as paid. Usually has a format like "633130-00000009"."633130-00000009"

Body Parameters

NameTypeRequiredDescExample
billing_addressobjectNoThe billing address details. If omitted, the existing billing address (if any) remains unchanged.N/A
billing_address.first_namestringNoThe first name of the person associated with the payment method."John"
billing_address.last_namestringNoThe last name of the person associated with the payment method."Smith"
billing_address.emailstringNoThe email address used for billing."[email protected]"
billing_address.countrystringNoThe name of the billing address country, for example: "United States"."United States"
billing_address.country_codestringNoThe two-letter code for the country, for example: "US"."US"
billing_address.provincestringNoThe region (province/state/prefecture) for the billing address, for example: "Alaska"."Alaska"
billing_address.province_codestringNoAbbreviation of the region, for example: "US-AK"."US-AK"
billing_address.areastringNoThe area of the billing address."Downtown"
billing_address.citystringNoThe city, town, or village of the billing address."Anchorage"
billing_address.address1stringNoThe main street address line, for example: "1 Rue des Carrieres"."1 Main Street"
billing_address.address2stringNoApartment/floor/room number, for example: "Suite 1234"."Apt 202"
billing_address.companystringNoThe company name for the billing address, if applicable."ABC Limited"
billing_address.latitudestringNoThe latitude of the billing address, for example: "22.54"."61.2175"
billing_address.longitudestringNoThe longitude of the billing address, for example: "114.06"."-149.8858"
billing_address.zipstringNoThe ZIP or postal code, for example: "87036".`"99501

Response Explanation

Public Response Parameters

📘

Public Response Parameters

Success Response

📘

The relationships between entities.

ObjectFieldsTypeDesc
OrderidstringUnique identifier for the order.
numberstring Order number, intended to simplify merchant references.
notestringA custom note input by the merchant regarding the order.
statusstringThe current Order status
financial_statusstringIndicates the payment status of the order
fulfillment_statusstringRepresents the shipping or fulfillment progress of the order
email_statusstringThe status of recall emails for the order.
waiting means “pending to send”
send means “sent”
cancel_reasonstring Reason for order cancellation, if applicable.
recovery_statusstringThe recovery_status field tracks the progress of an order recall process
waiting means “Waiting to be recalled”
sending means “Recall notification in progress”
recalling means “Recall in progress)”
failed means “Recall failed)”
success means “Recall successful)”
payment_methodstringThe payment method used for the order (e.g., apple_pay, credit_card, online).
discount_codestring@Deprecated.
discount_applicationsstringDetails of discounts
customer_notestringA note provided by the customer during checkout.
landing_sitestring@Deprecated.
buyer_accepts_marketingbool Indicates whether the customer has agreed to receive marketing promotions.
currencystring Currency code for the order
total_pricestringThe final price paid by the customer, including taxes, discounts, tips, additional fee and shipping fees.
sub_totalstringThe sum of the prices for all line items in the order.

- If order.config.product_tax_included is true, the amount includes total_tax (excluding shipping_tax_total); otherwise, it excludes tax.
- Formula: sub_total = sum(line_item.price * line_item.quantity).
total_discountstringTotal amount of discounts applied to the order, including product, shipping, and payment discounts.
total_taxstringTotal tax amount applied to the products in the order, excluding shipping tax.
total_shippingstringTotal shipping fee for the order.
code_discount_totalstringTotal discount from discount codes applied to the order.
line_item_discount_totalstring@Deprecated.total Product discount, numeric string, for example: "9.99",includes code_discount_total
gift_card_totalstringGift card discount amount, numeric string, for example: "9.99"
total_refund_pricestringTotal refund amount has been successfully processed, numeric string, for example: "9.99"
total_refund_discountstring@Deprecated.Total discount refunded, numeric string, for example: "9.99"
additional_totalstringTotal amount of additional charges, numeric string, for example: "9.99"
addtional_pricesarray of objectthe detail list of additional charges
addtional_prices.namestringName of the additional charge.
addtional_prices.pricestringAmount of the additional charge.
total_refund_taxstring@Deprecated.
shipping_tax_totalstringTotal shipping tax amount of the order.
customer_deleted_atstringTimestamp indicating when the customer associated with the order was deleted.
created_atstringTimestamp indicating when the order was created.
updated_atstringTimestamp indicating when the order was updated.
deleted_atstringTimestamp indicating when the order was deleted.
canceled_atstringTimestamp indicating when the order was canceled.
placed_atstringTimestamp indicating when the order was paid.
total_tip_receivedstringTotal amount of tips received for the order.
tagsstring Custom tags added to the order by merchants or the system.
browser_ipstring@Deprecated. IP address of the customer who placed the order.
last_landing_urlstring@Deprecated. URL of the last page visited by the customer before checkout.
total_paidstringTotal amount paid by the customer for the order.
sourcestring@Deprecated.Product source url
source_nameobject@Deprecated. Product source
source_name.datastring@Deprecated. Product source
source_name.created_atstring@Deprecated. Timestamp of the creation
last_referrer_showobject@Deprecated. Last interaction source
last_referrer_show.datastring@Deprecated. Interaction source data.
last_referrer_show.created_atstring@Deprecated. Timestamp of the last interaction.
shipping_lineobjectInformation about the shipping plan selected for the order.
shipping_line.namestringName of the shipping plan.
customerCustomerCustomer details
shipping_addressAddressDelivery address
billing_addressAddressBilling address
payment_linePaymentLinePayment details
line_itemsarray of LineItemvList of purchased products
fulfillmentsarray of FulfillmentList of fulfillments
logistics_codestringLogistics code
refer_infostringVisit information
configOrderConfigOrder configuration information
sales_platformstring@Deprecated. Platform where the order was placed
checkout_urlstringThe checkout page url for the order with storeDomain
location_lineLocationLineMerchant's warehouse address.
invoice_urlstringThe checkout page url for the order without storeDomain

Error Response

Error responses in the API can be represented using two different fields: errors and error. Both fields provide details about issues encountered during request processing. Below is an explanation of the fields with their respective examples and descriptions.

FieldTypeExampleDescription
errorsArray[ "file number error"]A list of errors encountered during the request processing.
FieldTypeExampleDescription
errorString "store is not active"Indicates an error encountered during the process

Error Detail

ErrorCodeDescriptionPossible reasons
422UnprocessableError1:cannot get total_price of order
"can't convert TotalPrice %s to decimal: fractional part too long"
400
500StatusInternalServerErrorAborted/NotFound/Unimplemented/Unauthenticated/DeadlineExceeded

API Structure Overview

Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!