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 to create a payment intent for a merchant initiated transaction
{
"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 to create a payment intent for a merchant initiated transaction
{
"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 to confirm a payment intent for a merchant initiated transaction
{
"sessionSecret": "PI_47d9c5e4-09aa-4242-a03d-a892eb7fb924_SECRET_8dfBkcR-K1gdFwP*9VecvLWNT",
"email": "john@smith@email.com"
}Example response body to confirm a payment intent for a merchant initiated transaction
{
"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"
}