Resend OTP
POST
/fina/v1/orders/resend_otpResends the OTP SMS for an existing checkout session when the buyer did not receive the first one.
A maximum of 3 resends are allowed per order, and unauthorised orders expire ~30 minutes after creation — after that, create a new order.
Request
order_idstringrequired
The order_id returned by Initiate Checkout.e.g. F26070910AB3XKQ70
Response
error_codestring
Numeric code as a string; "0" on success.
errorsarray
Failure details, empty on success.
messagestring
Human-readable status.
successboolean
true when the OTP was resent.
object
The order the OTP was resent for.
order_idstring
FINA's order identifier.
order_reference_idstring
Your order reference.
order_statusstring
Current order status.
Errors
Returned as HTTP 200 with a non-zero error_code — see Error Handling.
| Code | Name | Description | Resolution |
|---|---|---|---|
400 | INVALID_PARAMS | A required field is missing or a value failed validation (e.g. totals don't reconcile, invalid phone format, unknown field value). | Check errors[] for the failing field. Ensure order.total_amount equals the sum of items[].total_amount plus shipping_amount minus discount_amount. |
808 | INVALID_ORDER | No order was found for the given order_id / order_number. | Use the order_id returned by Initiate Checkout. |
811 | INVALID_ORDER_STATE | The order is not in a state that allows this operation (e.g. authorising an expired order, confirming delivery on an unauthorised order). | Check the order lifecycle; only perform operations valid for the order's current status. |
812 | NOTIFICATION_FAILED | The OTP SMS could not be sent to the buyer. | Retry Resend OTP; verify the buyer's phone number. |
Sandbox
https://apibe.silqfi.xyzPOST /fina/v1/orders/resend_otp
curl -X POST "https://apibe.silqfi.xyz/fina/v1/orders/resend_otp" \
-H "Authorization: bearer FINA_BEARER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"order_id": "F26070910AB3XKQ70"
}'FINA_BEARER_TOKEN is provided by the FINA team, per environment. Contact the FINA team for the production base URL.
Response · 200 · Success
{
"error_code": "0",
"errors": [],
"message": "OTP resent successfully",
"data": {
"order_id": "F26070910AB3XKQ70",
"order_reference_id": "ORD-2026-0001",
"order_status": "CREATED"
},
"success": true
}