Use this API when you have already created the orders and want Cashfree to process the payment. To use this API S2S flag needs to be enabled from the backend. In case you want to use the cards payment option the PCI DSS flag is required, for more information reach out to us by filling out the Support Form.
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
Idempotency works by saving the resulting status code and body of the first request made for any given idempotency key, regardless of whether it succeeded or failed. Subsequent requests with the same key return the same result, including 500 errors.
Currently supported on all POST calls that uses x-client-id & x-client-secret. To use enable, pass x-idempotency-key in the request header. The value of this header must be unique to each operation you are trying to do. One example can be to use the same order_id that you pass while creating orders
Request body to create a transaction at cashfree using payment_session_id
Complete object for the pay api that uses payment method objects
"session__CvcEmNKDkmERQrxnx39ibhJ3Ii034pjc8ZVxf3qcgEXCWlgDDlHRgz2XYZCqpajDQSXMMtCusPgOIxYP2LZx0-05p39gC2Vgmq1RAj--gcn"
The card payment object is used to make payment using either plain card number, saved card instrument id or using cryptogram
{
"card": {
"channel": "link",
"card_number": "4111111111111111",
"card_expiry_mm": "03",
"card_expiry_yy": "28",
"card_cvv": "123"
}
}This is required if any offers needs to be applied to the order.
"faa6cc05-d1e2-401c-b0cf-0c9db3ff0f0b"
OK
Order Pay response once you create a transaction for that order
total amount payable
Payment identifier created by Cashfree
One of ["upi", "netbanking", "card", "app", "cardless_emi", "paylater", "banktransfer"]
netbanking, card, upi, app, cardless_emi, paylater, banktransfer One of ["link", "collect", "qrcode"]. In an older version we used to support different channels like 'gpay', 'phonepe' etc. However, we now support only the following channels - link, collect and qrcode. To process payments using gpay, you will have to provide channel as 'link' and provider as 'gpay'
link, collect, qrcode, post One of ["link", "custom", "form"]
link, custom, form, post the data object pay api
{
"url": "https://examplebank.com/sendTo/897?q",
"payload": {
"MD": 89811231231,
"PaReq": "89123l1j2l3j1ljkkl="
},
"content_type": "application/x-www-form-encoded",
"method": "post"
}