Skip to content
payrocdevelopers

Re-present payment

Browse API reference

POST/bank-transfer-payments/{paymentId}/representrepresentBankTransferPayment

Use this method to re-present an ACH payment.

To re-present a payment, you need the paymentId of the return. To get the paymentId of the return, complete the following steps:

  1. Use our Retrieve Payment method to view the details of the original payment.
  2. From the returns object in the response, get the paymentId of the return.

Our gateway uses the bank account details from the original payment. If you want to update the customer's bank account details, send the new bank account details in the request.

If your request is successful, our gateway re-presents the payment.

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.

paymentIdRequiredpathstring

Unique identifier that our gateway assigned to the payment.

Request body

application/json
  • paymentMethodobject
    Polymorphic object that contains the customer's updated payment details. The value of the type parameter determines which variant you should use: ach Automated Clearing House (ACH) details secureToken Secure token details
    • achobject
      Object that contains information about the payment details for the customer’s automated clearing house (ACH) transactions.
      • accountNumberstringrequired
        Customer’s bank account number. Note: In responses, our gateway shows only the last four digits of the account number, for example, *****5929.4–17 chars^[0-9]*$
      • accountTypestring
        Indicates the customer’s account type. Note: For bank account details, send a value for accountType.checkingsavings
      • nameOnAccountstringrequired
        Customer's name.1–50 chars
      • routingNumberstringrequired
        Nine-digit number that identifies the customer's bank.9–9 chars^[0-9]*$
      • secCodestring
        Indicates how the customer authorized the ACH transaction. Send one of the following values: web – Online transaction. tel – Telephone transaction. ccd – Corporate credit or debit entry for a business bank account. ppd – Pre-arranged transaction. Note: This field is mandatory for ACH payments and unreferenced refunds.webtelccdppd
      • typestringrequired
        Indicates the type of bank account details the customer is using: ACH Customer's bank account is in the United States. PAD Customer's bank account is in Canada.ach
    • secureTokenobject
      Object that contains information about the secure token that represents the customer’s payment details.
      • accountTypestring
        Indicates the customer’s account type. Note: Send a value for accountType only if the secure token represents bank account details.checkingsavings
      • secCodestring
        Indicates how the customer authorized the ACH transaction. Send one of the following values: web – Online transaction. tel – Telephone transaction. ccd – Corporate credit or debit entry for a business bank account. ppd – Pre-arranged transaction. Note: This field is mandatory when the secure token represents ACH bank account details.webtelccdppd
      • tokenstringrequired
        Unique token that the gateway assigned to the payment details.12–19 chars
      • typestringrequired
        Method that the terminal used to take the payment.secureToken

Responses

Successful request. We processed the payment.

200 OK · application/json
{
  "bankAccount": {
    "accountNumber": "****1010",
    "nameOnAccount": "Sarah Hopper",
    "routingNumber": "053200983",
    "secCode": "tel",
    "secureToken": {
      "customerName": "Sarah Hopper",
      "link": {
        "href": "https://api.payroc.com/v1/processing-terminals/1234001/secure-tokens/MREF_abc1de23-f4a5-6789-bcd0-12e345678901fa",
        "method": "GET",
        "rel": "self"
      },
      "secureTokenId": "MREF_abc1de23-f4a5-6789-bcd0-12e345678901fa",
      "status": "notValidated",
      "token": "296753123456"
    },
    "type": "ach"
  },
  "customFields": [
    {
      "name": "yourCustomField",
      "value": "abc123"
    }
  ],
  "customer": {
    "contactMethods": [
      {
        "type": "email",
        "value": "sarah.hopper@example.com"
      }
    ],
    "notificationLanguage": "en"
  },
  "order": {
    "amount": 4999,
    "breakdown": {
      "subtotal": 4347,
      "taxes": [
        {
          "amount": 217,
          "name": "Sales Tax",
          "rate": 5
        }
      ],
      "tip": {
        "amount": 435,
        "percentage": 10,
        "type": "percentage"
      }
    },
    "currency": "USD",
    "dateTime": "2024-07-02T15:30:00Z",
    "description": "Large Pepperoni Pizza",
    "orderId": "OrderRef6543"
  },
  "paymentId": "M2MJOG6O2Y",
  "processingTerminalId": "1234001",
  "transactionResult": {
    "authorizedAmount": 4999,
    "currency": "USD",
    "processorResponseCode": "0",
    "responseCode": "A",
    "responseMessage": "NoError",
    "status": "ready",
    "type": "payment"
  }
}
Response schema · 80 of 111 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 transaction.
    • breakdownobject
      Object that contains information about the transaction.
      • taxesobject[]
        Array of tax objects.+3 more fields at deeper levels — see the full spec
      • subtotalintegerint64required
        Total amount of the transaction before tax and tip. The value is in the currency's lowest denomination, for example, cents.
      • tipobject
        Object that contains information about the tip.+4 more fields at deeper levels — see the full spec
    • 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.
    • descriptionstring
      Description of the transaction.0–1024 chars
    • orderIdstringrequired
      Unique identifier that the merchant assigns to the transaction.1–24 chars
  • paymentIdstringrequired
    Unique identifier that we assigned to the payment.10–10 chars
  • processingTerminalIdstringrequired
    Unique identifier that we assigned to the terminal.4–50 chars
  • refundsobject[]
    List of refunds issued against the payment.
    • amountintegerint64required
      Amount of the refund. 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 refund 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.
    • refundIdstringrequired
      Unique identifier of the refund.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
    • responseMessagestringrequired
      Description of the response from the processor.1–48 chars
    • statusstringrequired
      Current status of the refund.readypendingdeclinedcompletereferralpickupreversalreturned+3 more
  • representmentobject
    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
  • returnsobject[]
    List of returns issued against the payment.
    • closedbooleanrequired
      Indicates whether the merchant accepted an alternative payment method to complete the payment.
    • datestringdaterequired
      The date that the check was returned.
    • 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 that our gateway assigned to the payment.10–10 chars
    • representedbooleanrequired
      Indicates whether the return has been re-presented.
    • returnCodestringrequired
      The NACHA return code.
    • returnReasonstringrequired
      The reason why the check was returned.
  • 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