To complete a merchant-initiated transaction, send a
POST request to the /v1/payment-intents
endpoint of the payment intents API to create a payment intent. Include
the Toast-Restaurant-External-ID as a header parameter in
the request to specify the GUID of the Toast location that you are
creating a payment intent for. In the request body, include the
mandateId and set the offSession value to
true to indicate the transaction is
merchant-initiated.
Example request body
{
"amount": 1000,
"currency": "USD",
"externalReferenceId": "acd578a5-bb6d-4c3e-b6c7-c3a0d53f2a71",
"captureMethod":"MANUAL",
"email": "john.smith@email.com",
"customerId": "cd5fe473-7255-417a-be39-41261906c02d",
"offSession": true,
"mandateId": "d1bc0870-b8e9-44ee-9a49-7d6c416305cc"
}|
Used to determine if the transaction is a customer-initiated transaction or a merchant-initiated transaction.
|
|
|
The identifier of the mandate. |
Example response body
{
"id": "47d9c5e4-09aa-4242-a03d-a892eb7fb924",
"externalReferenceId": "acd578a5-bb6d-4c3e-b6c7-c3a0d53f2a71",
"sessionSecret": "PI_47d9c5e4-09aa-4242-a03d-a892eb7fb924_SECRET_8dfBkcR-K1gdFwP*9VecvLWNT",
"amount": 100,
"currency": "USD",
"captureMethod": "MANUAL",
"status": "REQUIRES_PAYMENT_METHOD",
"paymentMethodId": null,
"creationDate": "2025-11-20T22:06:15.165038025Z",
"usage": null,
"customerId": "cd5fe473-7255-417a-be39-41261906c02d",
"amountDetails": {
"tip": 0,
"surcharge": null,
"lineItemModifiers": null,
"tax": null
},
"email": "john.smith@email.com",
"paymentMethodConfigurationDetails": {
"id": "5855c2ae-e3aa-45d9-b78d-88fafacf0ec2"
},
"standingInstructionType": "RECURRING",
"offSession": true,
"mandateId": "d1bc0870-b8e9-44ee-9a49-7d6c416305cc"
}Confirm the merchant-initiated transaction by sending a
POST request to the /v1/payment-intents/{paymentIntentId}/confirm
endpoint of the payment intents API. Include the
paymentIntentId in the request path. Include the
Toast-Restaurant-External-ID as a header parameter. In the
request body, include the sessionSecret and the customer's
email address if the email was not provided when the payment intent was
created or updated.
Example request body
{
"sessionSecret": "PI_47d9c5e4-09aa-4242-a03d-a892eb7fb924_SECRET_8dfBkcR-K1gdFwP*9VecvLWNT",
"email": "john@smith@email.com"
}Example response body
{
"id": "47d9c5e4-09aa-4242-a03d-a892eb7fb924",
"externalReferenceId": "acd578a5-bb6d-4c3e-b6c7-c3a0d53f2a71",
"sessionSecret": "PI_47d9c5e4-09aa-4242-a03d-a892eb7fb924_SECRET_8dfBkcR-K1gdFwP*9VecvLWNT",
"amount": 1000,
"currency": "USD",
"captureMethod": "MANUAL",
"status": "SUCCEEDED",
"paymentMethodId": "c92244df-46fe-4fc2-b0dc-ffce1f63fa52",
"paymentMethodData": null,
"creationDate": "2026-01-07T16:42:51.920913144Z",
"usage": "OFF_SESSION",
"customerId": "cd5fe473-7255-417a-be39-41261906c02d",
"amountDetails": {
"tip": 0,
"surcharge": null,
"lineItemModifiers": null,
"tax": null
},
"email": "john.smith@email.com",
"paymentMethodConfigurationDetails": {
"id": "5855c2ae-e3aa-45d9-b78d-88fafacf0ec2"
},
"standingInstructionType": "RECURRING",
"offSession": true,
"latestPayment": {
"card": {
"lastFour": "1111",
"expiry": {
"month": "12",
"year": "27"
},
"brand": "VISA"
}
},
"mandateId": "d1bc0870-b8e9-44ee-9a49-7d6c416305cc"
}