Skip to content
payrocdevelopers

Reverse refund

Browse API reference

POST/bank-transfer-refunds/{refundId}/reversereverseBankTransferRefund

Use this method to cancel a bank transfer refund in an open batch.

To cancel a refund, you need its refundId. Our gateway returned the refundId in the response of the Refund Payment or Create Refund method.

Note: If you don’t have the refundId, use our List Refunds method to search for the refund.

If your request is successful, the gateway removes the refund from the merchant’s open batch, and no funds are returned to the cardholder’s account.

Parameters

NameInTypeDescription
Idempotency-KeyRequiredheaderstring

Unique identifier that you generate for each request. You must use the UUID v4 format for the identifier. For more information about the idempotency key, go to Idempotency.

refundIdRequiredpathstring

Unique identifier that our gateway assigned to the refund.

Responses

Successful request. We reversed the refund transaction.

200 OK · application/json
{
  "bankAccount": {
    "accountNumber": "****3159",
    "nameOnAccount": "Sarah Hazel Hopper",
    "routingNumber": "*****0277",
    "secCode": "web",
    "type": "ach"
  },
  "customFields": [
    {
      "name": "yourCustomField",
      "value": "abc123"
    }
  ],
  "customer": {
    "contactMethods": [
      {
        "type": "email",
        "value": "sarah.hopper@example.com"
      }
    ],
    "notificationLanguage": "en"
  },
  "order": {
    "amount": 4999,
    "currency": "USD",
    "dateTime": "2024-07-02T15:30:00Z",
    "description": "Refund for order OrderRef6543",
    "orderId": "OrderRef6543"
  },
  "processingTerminalId": "1234001",
  "refundId": "CD3HN88U9F",
  "transactionResult": {
    "authorizedAmount": -4999,
    "currency": "USD",
    "processorResponseCode": "0",
    "responseCode": "A",
    "responseMessage": "NoError",
    "status": "reversal",
    "type": "unreferencedRefund"
  }
}
Response schema · 53 of 77 fields
  • bankAccountobjectrequired
    Polymorphic object that contains bank account information. The value of the type field determines which variant you should use: ach Automated Clearing House (ACH) details pad Pre-authorized debit (PAD) details
    • achobject
      Object that contains the customer's account details.
      • accountNumberstringrequired
        Customer's bank account number. We mask all digits except the last four digits.4–17 chars
      • nameOnAccountstringrequired
        Customer's name.1–50 chars
      • routingNumberstringrequired
        Routing number of the customer’s account. Note: In responses, our gateway shows only the last four digits of the account's routing number, for example, *****4162.9–9 chars
      • secCodestring
        Indicates the type of authorization for the transaction. Note: The field is mandatory for ACH secure token. web – Online transaction. tel – Telephone transaction. ccd – Corporate credit or debit entry for a business bank account. ppd – Pre-arranged transaction.webtelccdppd
      • secureTokenobject
        Object that contains information about the secure token.+8 more fields at deeper levels — see the full spec
      • typestringrequired
        ach
    • padobject
      Object that contains the customer's account details.
      • accountNumberstringrequired
        Customer's bank account number. We mask all digits except the last four digits.7–12 chars
      • institutionNumberstringrequired
        Three-digit code that represents the customer's bank.3–3 chars
      • nameOnAccountstringrequired
        Customer's name.1–29 chars
      • secureTokenobject
        Object that contains information about the secure token.+8 more fields at deeper levels — see the full spec
      • transitNumberstringrequired
        Five-digit code that represents the customer's banking branch.5–5 chars
      • typestringrequired
        pad
  • customFieldsobject[]
    Array of customField objects.
    • namestringrequired
      Name of the custom field.1–56 chars
    • valuestringrequired
      Value for the custom field.1–100 chars
  • customerobject
    Object that contains information about the customer.
    • contactMethodsobject[]
      Array of polymorphic objects, which contain contact information. The value of the type parameter determines which variant you should use: email Email address phone Phone number mobile Mobile number fax Fax number
      • emailobject
        +2 more fields at deeper levels — see the full spec
      • phoneobject
        +2 more fields at deeper levels — see the full spec
      • mobileobject
        +2 more fields at deeper levels — see the full spec
      • faxobject
        +2 more fields at deeper levels — see the full spec
    • notificationLanguagestringiso-639-1
      Customer's preferred notification language. This code follows the ISO 639-1 standard.2–2 charsenfr
  • orderobjectrequired
    Object that contains information about the order.
    • amountintegerint64required
      Total amount of the transaction. The value is in the currency’s lowest denomination, for example, cents.
    • currencystringrequired
      Currency of the transaction. The value for the currency follows the ISO 4217 standard.AEDAFNALLAMDANGAOAARSAUD+163 more
    • dateTimestringdate-time
      Date and time that the processor processed the transaction. Our gateway returns this value in the ISO 8601 format.
    • descriptionstringrequired
      Description of the transaction.0–1024 chars
    • orderIdstringrequired
      Unique identifier that the merchant assigns to the transaction.1–24 chars
  • paymentobject
    Object that contains information about a payment.
    • amountintegerint64required
      Amount of the payment. This value is in the currency’s lowest denomination, for example, cents.
    • currencystringrequired
      Currency of the transaction. The value for the currency follows the ISO 4217 standard.AEDAFNALLAMDANGAOAARSAUD+163 more
    • dateTimestringdate-timerequired
      Date and time that the payment was processed.
    • linkobject
      Object that contains HATEOAS links for the resource.
      • hrefstringrequired
        URL of the target resource.
      • methodstringrequired
        HTTP method that you need to use with the target resource.
      • relstringrequired
        Indicates the relationship between the current resource and the target resource.
    • paymentIdstringrequired
      Unique identifier of the payment.10–10 chars
    • responseCodestringrequired
      Response from the processor. A The processor approved the transaction. D The processor declined the transaction. E The processor received the transaction but will process the transaction later. P The processor authorized a portion of the original amount of the transaction. R The issuer declined the transaction and indicated that the customer should contact their bank. C The issuer declined the transaction and indicated that the merchant should keep the card as it was reported lost or stolen.ADEPRC
    • responseMessagestring
      Response description from the processor.1–48 chars
    • statusstringrequired
      Current status of the payment.readypendingdeclinedcompletereferralpickupreversalreturned+3 more
  • processingTerminalIdstringrequired
    Unique identifier that we assigned to the terminal.4–50 chars
  • refundIdstringrequired
    Unique identifier that our gateway assigned to the refund.10–10 chars
  • transactionResultobjectrequired
    Object that contains information about the transaction.
    • authorizedAmountintegerint64
      Amount of the transaction. Note: The amount is negative for a refund.
    • currencystring
      Currency of the transaction. The value for the currency follows the ISO 4217 standard.AEDAFNALLAMDANGAOAARSAUD+163 more
    • processorResponseCodestring
      Original response code that the processor sent.
    • responseCodestringrequired
      Response from the processor. A The processor approved the transaction. D The processor declined the transaction.
    • responseMessagestring
      Description of the response from the processor.1–48 chars
    • statusstringrequired
      Status of the transaction. The value is one of the following: ready Successful transaction. We added the payment to the open batch. pending Successful transaction. We added the payment to the open batch, but we don’t collect the funds when the batch is closed. declined Unsuccessful transaction. The customer's bank declined the transfer. complete Successful transaction. The funds have moved to the merchant’s bank account. admin Transaction under review. We have flagged an issue with the transaction. reversal Transaction canceled. The transaction was canceled, and we removed the transaction from the open batch. returned Unsuccessful transaction. Automated clearing house (ACH) returned the transaction due to an error. For more information about the error, view the returns object.readypendingdeclinedcompleteadminreversalreturned
    • typestringrequired
      Type of transaction.paymentrefundunreferencedRefundaccountVerification

Used in workflows

Search documentation

API reference169
Guides118
Knowledge38
legal1
Solutions32
Workflows74
↑↓highlight↵openView all search results

Menu

Theme

Sign out

Your saved plans remain in your organization. This browser’s private draft and account view will be cleared.

Talk to an engineer