Applies to: Reader SDK - Android | Reader SDK - iOS | Payments API
Learn how to complete a delayed transaction by capturing all authorized card payments.
Important
The Mobile Payments SDK has launched as the successor of the Reader SDK. To take in-person payments on Square hardware, you should migrate from the Reader SDK to the Mobile Payments SDK.
Delayed payments can be taken on a mobile device by using the Reader SDK. However, to capture a delayed payment, you need the Transactions API called from an application running on a backend server. Your mobile payment application must be able to provide the backend with the transaction ID of a delayed payment.
For example, a seller might want to authorize funds at the time of purchase and capture funds when an item ships from the warehouse. After the checkout successfully completes, the seller's Reader SDK mobile application associates an order number with the Square transaction ID and location ID and sends this information to a backend server.
When the warehouse notifies the backend that the item has shipped, the backend looks up the order number, retrieves the transaction ID and location ID, and passes both IDs to the CaptureTransaction endpoint to capture the transaction.
- You need an access token. If you're using OAuth, you need
PAYMENTS_WRITE
permission. - You need to create a delayed payment using the Reader SDK on a mobile device. For more information about creating a delayed payment, see Delay the Capture of Payments.
- You need a valid location ID and the transaction ID of a delayed payment.