> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment Method Error Parameters

> List of values for Source and Step parameters for each payment method supported by Razorpay.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
  <span>🇸🇬 Singapore</span>
  <span>🇺🇸 United States</span>
</div>

There are certain error codes specific for the card payment method. To understand the errors and their `reasons`, it is recommended to know the `source` (stakeholders) and the `steps` involved in the payment flows for [Cards](#cards).

## Cards

<Tabs>
  <Tab title="Source Parameter">
    The possible values for the `source` parameter for cards are listed below:

    * `customer`
    * `business`
    * `internal`
    * `gateway`
    * `issuer_bank`
  </Tab>

  <Tab title="Step Parameter">
    The possible values for the `step` parameter, along with the description, are listed below:

    1. `payment_initiation`<br />
       Your system initiates and sends the payment request to our server. Our server validates your request, creates the payment flow and forwards the request to the Gateway.

    2. `card_enrollment_check`<br />
       Upon receiving a request from Razorpay, Gateway sends the enrollment check request to the bank for the enrollment of the card check.

    3. `payment_authentication`<br />
       The bank verifies the enrollment of the card, and then requests the authentication of the customer by sending 3DS URL and OTP to the customer.

       * 3DS URL<br />
         Bank sends the Authentication (3DS URL), which is routed through Gateway > Razorpay > Customer.

       * OTP<br />
         The bank sends the OTP to the customer’s mobile directly. The customer enters the valid OTP within the time on the bank's OTP page.

    4. `payment_authorization`<br />
       Once the customer has completed the authentication, the bank authorises the release of the funds. The authorisation status is communicated to the Gateway which in turn communicates the same to Razorpay.

    5. `payment_capture`<br />
       Once the payment is successfully authorised, Razorpay sends the capture request to the Gateway which in turn sends the same to the bank to capture the authorised payment.
  </Tab>
</Tabs>
