Process a payment
Collect payment details from the caller using DTMF and either charge or tokenize the payment method through a configured Pay connector. Pay pauses active call recordings while sensitive payment details are collected.
When payment_token is supplied, the DTMF collection steps are skipped and the existing token is sent to the connector.
Expected Webhooks:
- call.payment.progress
- call.payment.completed
Test mode card numbers: 4111111111111111 (Visa), 5555555555554444 (Mastercard), 378282246310005 (American Express), 6011111111111117 (Discover), 3065930009020004 (Diners Club), 3566002020360505 (JCB), 6200000000000005 (UnionPay), and 6771798021000008 (Maestro). Test-mode connectors reject other card numbers before contacting the configured processor. The UnionPay and Maestro numbers are accepted for processor testing, but Pay currently does not emit a card type for them.
Path parameters
Unique identifier and token for controlling the call
Request body
Example request
{
"connector_name": "Default",
"amount": 10.5,
"currency": "USD",
"payment_method": "credit-card",
"transaction_type": "charge",
"max_attempts": 3,
"timeout_millis": 5000,
"inter_digit_timeout_millis": 5000,
"voice": "female",
"language": "en-US",
"client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
"command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
}Response
Successful response upon making a call control command.
Example response
{
"data": {
"result": "ok"
}
}Changes
Changed in 4 of the 99 revisions of this API.726
- ○
added the new optional request property
new-optional-request-property
- ○
added the new
enrouteenum value to the request property////request-property-enum-value-added
- ○
added the new
enrouteenum value to the request property////request-property-enum-value-added
- ○
added the new
enrouteenum value to the request property////request-property-enum-value-added
- ○
added the new
enrouteenum value to the request property////request-property-enum-value-added
- ○
added the new
enrouteenum value to the request property////request-property-enum-value-added
- ○
added the new
enrouteenum value to the request property////request-property-enum-value-added
- ○
added the new
invalid-card-typeenum value to the request property////request-property-enum-value-added
- ○
added the new
invalid-card-typeenum value to the request property////request-property-enum-value-added
- ○
added the new
invalid-card-typeenum value to the request property////request-property-enum-value-added
- ○
added the new
invalid-card-typeenum value to the request property////request-property-enum-value-added
- ○
added the new
invalid-card-typeenum value to the request property////request-property-enum-value-added
- ○
added the new
invalid-card-typeenum value to the request property////request-property-enum-value-added
- ○
added the new
maestroenum value to the request property////request-property-enum-value-added
- ○
added the new
maestroenum value to the request property////request-property-enum-value-added
- ○
added the new
maestroenum value to the request property////request-property-enum-value-added
- ○
added the new
maestroenum value to the request property////request-property-enum-value-added
- ○
added the new
maestroenum value to the request property////request-property-enum-value-added
- ○
added the new
maestroenum value to the request property////request-property-enum-value-added
- ○
added the new
optimaenum value to the request property////request-property-enum-value-added
- ○
added the new
optimaenum value to the request property////request-property-enum-value-added
- ○
added the new
optimaenum value to the request property////request-property-enum-value-added
- ○
added the new
optimaenum value to the request property////request-property-enum-value-added
- ○
added the new
optimaenum value to the request property////request-property-enum-value-added
- ○
added the new
optimaenum value to the request property////request-property-enum-value-added
This revision also has 34 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
- ▲
the response's body type changed from
objectto no type for statusresponse-body-type-changed
- ▲
the
/response's property type changed fromobjectto no type for statusresponse-property-type-changed
- ▲
the
//response's property type changed fromintegertostring, and format fromint32tointegerfor statusresponse-property-type-changed
This revision also has 64 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ▲
the response's body type changed from no type to
objectfor statusresponse-body-type-changed
- ▲
the
/response's property type changed from no type toobjectfor statusresponse-property-type-changed
- ▲
the
//response's property type changed fromstringtointeger, and format fromintegertoint32for statusresponse-property-type-changed
- ▲
the
///response's property format changed fromjson-pointerto no format for statusresponse-property-type-changed
This revision also has 41 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ○
endpoint added
endpoint-added
This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
Of the 99 revisions, 1 has no diff computed.