X-Action header must be gateway.card.zero_create.X-JWS-Signature: see Async API Overview.process.user_id: pay with it later in Create payment with from.type = saved and the same user_id.id: on approved the card token is in from.card.token.from.recurrent.lifetime a recurrent profile is also created: from.recurrent.profile_id comes in the status; use it in Create payment with from.type = recurrent.| Response | Meaning | Next step |
|---|---|---|
status = process | The request is accepted, the card is being checked. | Get the final status with gateway.payment.status. If the response is lost, use gateway.request.status with the same X-Request-Id. |
status = error | The request is rejected. | See «Errors» below. |
{}, X-Request-Status: process | The result is not ready yet. | Repeat the request in a few seconds with the same X-Request-Id. |
| Status | Meaning | Next step |
|---|---|---|
process | The card is being checked. | Repeat gateway.payment.status later. |
waiting_3ds | The client must pass 3DS. | Redirect the client to 3ds.acs_url. |
approved | The card is saved. amount is 0: nothing is debited, there is nothing to capture or cancel. | Save from.card.token (and from.recurrent.profile_id, if requested) for future payments. |
error | The card is not saved. | See error.code and «Errors» below. |
200, status error and the error object.error.code and error.description.| HTTP | error.code | When | What to do |
|---|---|---|---|
200 | Decline code, for example 99999 | The payment system declined the card check. | Ask the client for another card. Do not repeat the request with the same X-Request-Id: it returns the same result. |
200 | 9403 | from.type is not card or tokenized. | Use from.type = card or tokenized. |
400 | 9400 | The body is not valid JSON. | Fix the request. |
401 | 9998 | The signature is invalid. | Check the signature: see Async API Overview. |
422 | 9403 | A required header or field is missing or invalid, for example user_id is missing. The reason is in error.description. | Fix the request. |
500 | 9999 | Internal error at the gateway entry point. | Repeat the request later with the same X-Request-Id. |
500 | 10000 | Internal error in processing. | Repeat the request later with the same X-Request-Id. |