curl --request POST \
--url https://sandbox.cashfree.com/pg/simulate \
--header 'Content-Type: application/json' \
--header 'x-api-version: <x-api-version>' \
--header 'x-client-id: <api-key>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"entity": "PAYMENTS",
"entity_id": "14934289844",
"entity_simulation": {
"payment_status": "FAILED",
"payment_error_code": "ISSUER_NOT_AVAILABLE"
}
}
'{
"simulation_id": "sim_2900842gV18Lhh7owswLj5XF0uHHUn1CX",
"entity": "PAYMENTS",
"entity_id": "14934289844",
"entity_simulation": {
"payment_status": "FAILED",
"payment_error_code": "ISSUER_NOT_AVAILABLE"
}
}{
"message": "bad URL, please check API documentation",
"help": "Check latest errors and resolution from Merchant Dashboard API logs: https://bit.ly/4glEd0W Help Document: https://bit.ly/4eeZYO9",
"code": "request_failed",
"type": "invalid_request_error"
}{
"message": "authentication Failed",
"code": "request_failed",
"type": "authentication_error"
}{
"message": "something is not found",
"help": "Check latest errors and resolution from Merchant Dashboard API logs: https://bit.ly/4glEd0W Help Document: https://bit.ly/4eeZYO9",
"code": "something_not_found",
"type": "invalid_request_error"
}{
"message": "Too many requests from IP. Check headers",
"code": "request_failed",
"type": "rate_limit_error"
}{
"message": "internal Server Error",
"help": "Check latest errors and resolution from Merchant Dashboard API logs: https://bit.ly/4glEd0W Help Document: https://bit.ly/4eeZYO9",
"code": "internal_error",
"type": "api_error"
}Simulate Payment
Use this API to simulate payment. To use this API you should first create an order using the Create Order API. Also, you need to create a payment with the same order.
curl --request POST \
--url https://sandbox.cashfree.com/pg/simulate \
--header 'Content-Type: application/json' \
--header 'x-api-version: <x-api-version>' \
--header 'x-client-id: <api-key>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"entity": "PAYMENTS",
"entity_id": "14934289844",
"entity_simulation": {
"payment_status": "FAILED",
"payment_error_code": "ISSUER_NOT_AVAILABLE"
}
}
'{
"simulation_id": "sim_2900842gV18Lhh7owswLj5XF0uHHUn1CX",
"entity": "PAYMENTS",
"entity_id": "14934289844",
"entity_simulation": {
"payment_status": "FAILED",
"payment_error_code": "ISSUER_NOT_AVAILABLE"
}
}{
"message": "bad URL, please check API documentation",
"help": "Check latest errors and resolution from Merchant Dashboard API logs: https://bit.ly/4glEd0W Help Document: https://bit.ly/4eeZYO9",
"code": "request_failed",
"type": "invalid_request_error"
}{
"message": "authentication Failed",
"code": "request_failed",
"type": "authentication_error"
}{
"message": "something is not found",
"help": "Check latest errors and resolution from Merchant Dashboard API logs: https://bit.ly/4glEd0W Help Document: https://bit.ly/4eeZYO9",
"code": "something_not_found",
"type": "invalid_request_error"
}{
"message": "Too many requests from IP. Check headers",
"code": "request_failed",
"type": "rate_limit_error"
}{
"message": "internal Server Error",
"help": "Check latest errors and resolution from Merchant Dashboard API logs: https://bit.ly/4glEd0W Help Document: https://bit.ly/4eeZYO9",
"code": "internal_error",
"type": "api_error"
}Authorizations
Client app ID. You can find your app id in the Merchant Dashboard.
Client secret key. You can find your secret key in the Merchant Dashboard.
Headers
API version to be used.
Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
Body
Request body for simulation.
Request body for simulation.
Entity type should be PAYMENTS, SUBS_PAYMENTS OR VBA_TRANSFER only.
PAYMENTS, SUBS_PAYMENTS, VBA_TRANSFER If the entity type is PAYMENTS, the entity_id will be the cf_payment_id. If the entity type is SUBS_PAYMENTS, the entity_id will be the payment_id. If the entity type is VBA_TRANSFER, the entity_id will be the vba_account_number.
Entity simulation contains payment_status and payment_error_code.
Show child attributes
Show child attributes
{
"payment_status": "FAILED",
"payment_error_code": "ISSUER_NOT_AVAILABLE"
}
VBA simulation contains VBA and remitter information for simulation.
Show child attributes
Show child attributes
{
"vba_ifsc": "YESB0CMSNOC",
"utr": "utr",
"amount": 10,
"remitter_account": "808081pxqp242614HW",
"remitter_ifsc": "IFSC",
"remitter_name": "Test",
"phone": "1234567891"
}
Response
Payment simulation response.
Was this page helpful?