pg_order_id is not checked for uniqueness: every request creates a new payment.pg_status | pg_3ds | Meaning | Next step |
|---|---|---|---|
ok | 0 | The payment is authorized. | One-step payment: nothing else is needed. Two-step payment (pg_auto_clearing = 0): capture the amount with clearing or release it with cancel. |
ok | 1 | 3DS authentication is required. | Redirect the client to pg_3d_acsurl (see below), then call Pay by card: complete 3DS. |
pending | — | The payment system has not returned the result yet. | Request the status with status_v2 until it is final. |
error | — | The request is rejected or the payment is declined. | See «Errors» below. |
pg_3d_acsurl with an HTML form (POST):MD and PaRes to TermUrl (POST).pg_md and pg_pares together with pg_payment_id.pg_status = pending: request the status with status_v2.200; the error is returned in pg_error_code and pg_error_description.pg_error_code | When | What to do |
|---|---|---|
9403 | A parameter is missing or has an invalid value. pg_error_description names the parameter. | Fix the request. |
1370 | pg_amount is not a number, is less than 0.01 or more than 99999999. | Fix the amount. |
1380 | The amount is below the minimum for the payment system. The payment is created with an error, pg_payment_id is returned. | Increase the amount or contact Freedom Pay. |
1100 | The signature is missing or invalid. | Check the signature: see Sync API Overview. |
1101 | pg_merchant_id is not found. The response is not signed. | Check the merchant ID. |
| Other codes | The payment is declined by the issuer or the payment system. pg_payment_id is returned. | See Error codes. |
pg_sig is calculated with the secret key test_secret_key.