Manual payment creation flow
clientToken
on your backend by creating a Client Session with clientToken
to render the UI.paymentMethodToken
when the customer submits their payment data, or when they select particular payment methods.paymentMethodToken
via the Payments API requiredAction
, you’ll get a new clientToken
.clientToken
back to Universal Checkout to render next steps, like 3DS, and get a resumeToken
.resumeToken
to resume the payment and wrap things up. (If a new requiredAction
is returned, you’ll have to go back to step 5.)client_tokens:write
transactions:authorize
paymentHandling
defines how the SDK should handle payment creation and resume.Set paymentHandling
to MANUAL
to turn off automatic payment handling.This disables the callbacks onBeforePayment
and onCheckoutComplete
.onTokenizeSuccess()
to create payments with paymentMethodToken
onResumeSuccess()
to resume payments with resumeToken
onTokenizeSuccess()
callbackpaymentMethodToken
in onTokenizeSuccess()
paymentMethodToken
handler.handleSuccess()
in order to display a success screen.handler.handleFailure(errorMessage)
to display an error / failed message.clientToken
for additional steps (in the requiredActions
on the response). In this case, call handler.continueWithNewClientToken(clientToken)
to the checkout.onResumeSuccess()
callbackonResumeSuccess()
is required to fully support 3DS and the majority of payment methods.resumeToken
via the onResumeSuccess()
callback if applicableresumeToken
handler.handleSuccess()
in order to display a success screen.handler.handleFailure(errorMessage)
to display an error / failed message.clientToken
for additional steps. In this case, call handler.continueWithNewClientToken(clientToken)
again.