Chargebacks API

A chargeback is the reversal of a credit card payment, forcibly initiated by the cardholder through the issuing bank of the instrument used to settle a debt. After the bank verifies the claim and an investigation occurs, the bank validates the cardholders request, and removes money from the merchant’s account back to the customer.

Any chargeback request received will be verified according to the regulations of the relevant card issuer. In some cases, you may need to provide additional documentation, via email, in order to resolve the chargeback.

Reasons for a chargeback

Typically, a cardholder might file a chargeback for any of the following reasons:

    • duplicate billing;
    • incorrect amount billed;
    • refund never issued;
    • the customer claims he did not authorize the charge or that his identity was stolen;
    • the customer claims he has never received the products or services.

We strongly recommend you avoid such situations where the customer initiates a chargeback process. Refunds are always preferable to chargebacks, because no negative chargeback score is linked to your account and customer satisfaction is increased. The chargeback process can be very costly as it includes chargeback fees and time needed to gather the required documentation. Also, there are situations where chargebacks can be non-disputable, meaning the dispute is always lost and you have no control over the chargeback process.

Notification Types:

We will notify you in real time of any chargebacks requests received (the payment is disputed by the customer) or when the status of the payment changes (the cardholder has won the dispute and has received the money back). You will receive two types of notifications:

  • Notification Type Dispute, in which we will notify you about the status of the Dispute, it can be either Open – 1 / DisputeWon – 23 / DisputeLost – 24;
  • Notification type Payment, in which according to the status of the Dispute we will notify you about the new status of the Payment, it can be either Success – 2 / Captured – 11 / PartiallyCaptured – 35 / Disputed – 19 / Chargedback – 26.
  • Notification type Dispute

    When a payment is disputed by the customer, it will also change its status to Disputed. If the customer wins the dispute, the dispute changes its status in DisputeLost – 24 and we will notify of the event:

    Dispute notification format:

    {
    "Dispute": {
        "ID": 158,
        "SiteID": 30563,
        "Created": "20240318090132",
        "PaymentID": 6880987,
        "MethodID": 113,
        "Amount": "8801",
        "Currency": "USD",
        "Status": {
          "ID": 23,
          "Info": "DisputeWon",
          "Reasons": null
        }
      }
    }
    
    

    Response:

    204 No Content
  • Dispute reasons for CashApp

    For the CashApp method, the notifications will also include the reason code and reason info; this applies to all 3 dispute states: Open – 1 / DisputeWon – 23 / DisputeLost – 24.

    Open Dispute notification format:

    {
    {
      "Dispute": {
        "ID": 157,
        "SiteID": 30563,
        "Created": "20240318072931",
        "PaymentID": 6880943,
        "MethodID": 113,
        "Amount": "8801",
        "Currency": "USD",
        "Status": {
          "ID": 1,
          "Info": "Open",
          "Reasons": [
            {
              "Code": "905",
              "Info": "Canceled services."
            }
          ]
        }
      }
    }
    
    

    Lost Dispute notification format:

    {
    {
      "Dispute": {
        "ID": 157,
        "SiteID": 30563,
        "Created": "20240318072931",
        "PaymentID": 6880943,
        "MethodID": 113,
        "Amount": "8801",
        "Currency": "USD",
        "Status": {
          "ID": 24,
          "Info": "DisputeLost",
          "Reasons": [
            {
              "Code": "905",
              "Info": "Canceled services."
            }
          ]
        }
      }
    }
    
    

    Won Dispute notification format:

    {
    {
      "Dispute": {
        "ID": 158,
        "SiteID": 30563,
        "Created": "20240318090132",
        "PaymentID": 6880987,
        "MethodID": 113,
        "Amount": "8801",
        "Currency": "USD",
        "Status": {
          "ID": 23,
          "Info": "DisputeWon",
          "Reasons": [
            {
              "Code": "905",
              "Info": "Canceled services."
            }
          ]
        }
      }
    }
    
    
  • Notification type Payment

    When a payment with Success status is disputed by the customer and you lose the dispute, the payment changes its status in Chargedback – 26 and we will notify you about the new status of the payment:

    Payment notification format:

    Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
    
    {
      "Payment": {
        "ID": 169144,
        "SkinID": null,
        "ClientIP": null,
        "Created": "20180215151027",
        "MerchantTransactionID": "609374486387",
        "OriginatorTransactionID": null,
        "Amount": "100",
        "Currency": "EUR",
        "ReturnURL": "http://demo.smart2pay.com/redirect.php",
        "Description": "",
        "MethodID": 32,
        "MethodOptionID": null,
        "IncludeMethodIDs": null,
        "ExcludeMethodIDs": null,
        "PrioritizeMethodIDs": null,
        "SiteID": 1000,
        "NotificationDateTime": null,
        "Customer": null,
        "BillingAddress": null,
        "ShippingAddress": null,
        "Articles": null,
        "Details": null,
        "ReferenceDetails": null,
        "CustomParameters": null,
        "PreapprovalID": null,
        "Status": {
          "ID": 26,
          "Info": "Chargedback",
          "Reasons": null
        },
        "MethodTransactionID": null,
        "TokenLifetime": null,
        "Capture": null,
        "PreapprovalDetails": null,
        "RedirectURL": null
      }
    }

    Response:

    204 No Content

    When a card payment with Captured or PartiallyCaptured status is disputed by the customer and you lose the dispute, the payment changes its status in Chargedback – 26 and we will notify you about the new status of the payment:

    Payment notification format:

    Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
    
    {
      "Payment": {
        "ID": 202242,
        "ClientIP": null,
        "SkinID": null,
        "Created": "20161205093117",
        "MerchantTransactionID": "s2ptest_h12",
        "OriginatorTransactionID": "100_a",
        "Amount": "2000",
        "Currency": "EUR",
        "CapturedAmount": "2000",
        "ReturnURL": "http://demo.smart2pay.com/redirect.php",
        "Description": "payment product",
        "StatementDescriptor": "bank statement message",
        "MethodID": 6,
        "MethodOptionID": null,
        "SiteID": 1010,
        "NotificationDateTime": null,
        "Customer": {
          "ID": 115,
          "MerchantCustomerID": "null",
          "Email": "customer@test.com",
          "FirstName": "John",
          "LastName": "Doe",
          "Gender": "1",
          "SocialSecurityNumber": "45908-28324",
          "Phone": "0744-783322",
          "Company": "S2P"
        },
        "BillingAddress": {
          "ID": 253,
          "City": "Iasi",
          "ZipCode": "7000-49",
          "State": "Iasi",
          "Street": "Sf Lazar",
          "StreetNumber": "37",
          "HouseNumber": "5A",
          "HouseExtension": "-",
          "Country": "RO"
        },
        "ShippingAddress": {
          "ID": 87,
         "City": "Iasi",
          "ZipCode": "700049",
          "State": "Iasi",
          "Street": "Sf Lazar",
          "StreetNumber": "37",
          "HouseNumber": "-",
          "HouseExtension": "-",
          "Country": "RO"
        },
        "Articles": null,
        "Card": {
          "HolderName": "John Doe",
          "Number": "VISA-1111",
          "ExpirationMonth": "02",
          "ExpirationYear": "2018"
        },
        "CreditCardToken": {
          "Value": "6BEBF42B0E43D3BFD360DFB5EFF9D96D"
        },
        "Status": {
          "ID": 26,
          "Info": "Chargedback",
          "Reasons": []
        },
        "MethodTransactionID": null,
        "PaymentTokenLifetime": null,
        "Capture": true,
        "Retry": true,
        "RedirectURL": null,
        "3DSecure": null
      }
    }

    Response:

    204 No Content