Response handling

Learn why some payments fail and what you can do to decrease your decline rate.

Payments can fail for a variety of reasons and it’s frustrating when they result in the loss of legitimate business. Many payments fail for good reason and do so to minimize the possibility of a fraudulent payment.

There are three possible reasons why a credit card payment might fail:

  • Payments declined by card issuers

  • Blocked payments

  • Invalid API Calls

Each type of failure is handled differently. The reason for a payment’s failure is provided within the payment’s details in the Dashboard and through the API response. This parameter includes the type of payment failure, along with additional information about the reason for it.

Card issuers decline codes

There are many reasons why card schemes refuse a transaction. The corresponding authorization responses we receive are not the same for all schemes, and change from time to time. On this page, we describe the most common raw acquirer responses related to refused or cancelled transactions.

Blocked payments

Moneycollect’s bigdata risk detection toolset, blocks high-risk payments, such as those with mismatched CVC or high risk country or a large number of identity change behaviors are detected.

Using the API, the riskInfoof a blocked payment reflects the type of payment failure and the reason for it, along with the risk level that was evaluated.

    "riskInfo": {
      "riskScore": 100,
      "riskMessage": "risk_rejected"
    },
    "status": "failed",
    "displayStatus": "failed",
    "errorCode": "risk_rejected",
    "errorMessage": "risk_rejected",

Invalid API Calls

As you develop your Moneycollect integration, good testing should identify any potential bugs that would lead to invalid API calls. Consequently these failures should be rare in production. Invalid API calls typically don’t result in a payment appearing in your Dashboard.

Invalid API Calls have the same error code:'invalid_parameter',and you can get detail error information from field msg.

If you receive this type of error, you should correct the api parameters.

{
  "code": "invalid_parameter",
  "msg": "PaymentMethod.billingDetails.address: invalid country.",
  "data": null
}

Last updated