[POST] client/v1/transferrefund

Post a payment with TRANSFER_REFUND type

Allows Client Admin to create a payment with type TRANSFER_REFUND to transfer funds from a client's MSB account to customer's sub ledger account. This is to help facilitate the reversal of the client transfer payment flow. The intended implementation is to be 'behind the scenes' . The endpoint requires the original payment ID and original amount to be refunded back to the customer's account. The original payment must be in SETTLED status and can not have a previous refund.

Input Parameters

  "orignalPaymentId" : "", //Payment id of the original ACH Transfer now requested to refund the same amount back to Avenu customer account. The original ACH Transfer should be in SETTLED status in Avenu and there were no prior refund requests
  "customerAccount" : {
      "achAccountNumber": ""         // Customer account number(Open customer account and not closed or suspended account), routing number is hard coded
  "clientAuthorized" : {
      "authorizedBy" : "",           // Name
      "authorizationTimestampGMT" : "", //date and timestamp in GMT
  "amount": "",               // Amount needs to same as orignal tranaction amount, Amount will be postitive The payment amount in lowest currency denomination e.g. cents.
  "transferType": "",          // The transfer type needs to be exactly same as original transaction type
  "currency": "",             // Currency descriptor
  "memo": ""                 // A message to accompany the payment


Data Field/ParameterFormatFormat Error MessageOther RequirementsOther Error Messages
originalPaymentIDalphanumeric & special characters “.” & “-” onlyCA3107Must match previous payment

Limit to one refund per transaction

original transaction must have status ‘SETTLED’
originalPaymentID does not match original ACH Transfer

Transaction already refunded

Invalid originalPaymentID - transaction must be Settled before processing a refund
achAccountNumbernumeric only, 5-17 digitsCA3107Must be OPENInvalid achAccountNumber, include active accounts only
authorizedByA-Z, a-z, and [spaces] only, no numbers or special characters

limit to 100 characters
authorizationTimestampGMTISO 8601 yyyy-mm-ddThh:mm:ss.ssssssZCA3107

limit to 6 digits
CA3107Must match original paymentamount does not match original transaction

limit to 10 characters
CA3107Must match original transferTypetransferType does not match original transaction

Example Response

  "transfer": {
    "transferType": "REMITTANCE",
    "mainstreetBankAccount": {
      "transferAccountNumber": "",
      "achRoutingNumber": ""
    "amount": xxx,
    "currency": "usd",
    "scheduledDate": "",
    "memo": "",
    "firstName" : "",
    "middleInitial" : "",
    "lastName" : "",
    "address" : "",
    "city" : "",
    "state" : "",
    "zipCode" : "",
    "country" : ""
  "paymentId": "xxxx",    // UUID payment identifier
  "receiver": "",           // receiver(customer) account number
  "status": "",           // status of payment at end of transaction. See below.
  "dateCreated": "",      // Transaction processed date in format ISO 8601 YYYY-MM-DD. See link below
  "dateUpdated": "",      // Date of last status update in format ISO 8601 YYYY-MM-DD
  "publicTraceNumber": "xxxxxxxx"