customer/v1/payment

[POST] customer/v1/payment

Submit a payment

Send payments via the payment endpoint from a customer's account to an internal (intra-fintech) or external account. For intra-fintech payments, funds are transferred between accounts within a matter of seconds. Other payments to external accounts require settlement. For payments to/from an external bank account, a positive amount indicates funding for the account initiating the call, and a negative amount value indicates sending money from the account initiating the call. For internal (intra-fintech) payments, the amount must be positive and indicates sending money from the account initiating the call. All payment requests are made in the lowest possible denomination of a currency; eg a funding request for $1.00 USD will be sent as 100.

Device identification is optional, but it is passed to the compliance monitoring system for help with case management (refunds, fraud, etc.).

Example [POST] Request

{{avenu_base_url}}/customer/v1/payment
{
    "paymentType": "",
    "recipientAccount": {
        "customerAccountNumber": "",
        "achAccountNumber": "",
        "achRoutingNumber": "",
    },
    "amount": "",
    "currency": "",
    "scheduledDate": "",
    "numberOfPayments": "",
    "paymentsInterval": "",
    "memo": "",
    "firstName" : "",
    "middleInitial" : "",
    "lastName" : "",
    "address" : "",
    "city" : "",
    "state" : "",
    "zipCode" : "",
    "country" : "",
    "deviceIdentity": {
        "deviceId": "",
        "deviceType": "",
        "deviceName": "",
        "deviceOperatingSystem": "",
        "deviceIPAddress": "",
        "deviceLocation": "",
        "deviceLongitude": "",
        "deviceLatitude": "",
        "deviceUser": "",
        "deviceIMEINumber" : "",
        "deviceTorEnabled" : "",
        "deviceFirstSeen" : "",
        "deviceLastSeen" : ""
  }
}

Input Parameters

ParameterFormatRequiredDetails
"paymentType"StringYThe type of payment for the transaction. See Payments Overview
"customerAccountNumber"StringN
"achAccountNumber"StringN
"achRoutingNumber"StringN
"amount"LongYFunding amount in lowest currency e.g. cents
"currency"String; Three-letter ISO currency codeY
"scheduledDate"String; ISO 8601 YYYY-MM-DDY
"numberOfPayments"IntegerN
"paymentsInterval"StringN
"memo"StringN
"firstName"StringY
"middleInitial"String; Max and Min length to be set to 1N
"lastName"StringY
"address"StringN
"city"StringN
"state"StringN
"zipCode"String; valid number of length 5N
"country"String; ISO 3166 Alpha-3 country code
"deviceId"StringN
"deviceType"StringN
"deviceName"StringN
"deviceOperatingSystem"StringN
"deviceIPAddress"StringN
"deviceLocation"StringN
"deviceLongitude"StringN
"deviceLatitude"StringN
"deviceUser"StringN
"deviceIMEINumber"StringN
"deviceTorEnabled"BooleanN
"deviceFirstSeen"String; ISO 8601 yyyy-mm-ddN
"deviceLastSeen"String; ISO 8601 yyyy-mm-ddN

Example Response

{
    "payment": {
        "paymentType": "",
        "recipientAccount": {
            "customerAccountNumber": "",
            "achAccountNumber": "",
            "achRoutingNumber": "",
        },
        "amount": xxx,
        "currency": "usd",
        "scheduledDate": "",
        "numberOfPayments": "",
        "paymentsInterval": "",
        "memo": "",
        "firstName" : "",
        "middleInitial" : "",
        "lastName" : "",
        "address" : "",
        "city" : "",
        "state" : "",
        "zipCode" : "",
        "country" : "",
    },
    "paymentId": "xxxx",
    "sender": "",
    "status": "",
    "dateCreated": "",
    "dateUpdated": "",
}

Response Elements

(In addition to elements found in input parameters)

ElementDetails
paymentIdUUID payment identifier
senderSender account number
statusStatus of payment at end of transaction. See Payments Overview.
dateCreatedTransaction processed date in format ISO 8601 YYYY-MM-DD.
dateUpdatedDate of last status update in format ISO 8601 YYYY-MM-DD

Error Codes

CodeMessage
1001"Missing required field"
1002"Invalid data structure"
1003"Invalid data"

[GET] customer/v1/payment

Get payment details

The payment details endpoint returns data specific to a unique paymentId .

Example [GET] Request

{{avenu_base_url}}/customer/v1/payment/{{paymentId}}

Request Parameter

ParameterFormatRequired
"paymentId"StringY

Example Response

{
    "payment": {
        "paymentType": "",
        "recipientAccount": {
            "customerAccountNumber": "",
            "achAccountNumber": "",
            "achRoutingNumber": "",
        },
        "amount": xxx,
        "currency": "",
        "scheduledDate": "",
        "numberOfPayments": "",
        "paymentsInterval": "",
        "memo": "",
        "firstName" : "",
        "middleInitial" : "",
        "lastName" : "",
        "address" : "",
        "city" : "",
        "state" : "",
        "zipCode" : "",
        "country" : ""
    },
    "paymentId": "",
    "status": "",
    "dateCreated": "",
    "dateUpdated": "",
    "returnCode": "",
   "publicTraceNumber": "" 
}

Response Elements

ElementDetails
paymentTypeThe type of payment for the transaction. See Payments Overview
recipientAccountArray with details of the account receiving the payment
customerAccountNumberAccount number of the recipient
achAccountNumberACH account number of the recipient
amountThe amount of the payment in the lowest currency. e.g. cents
currencyThe currency of the payment
scheduledDateScheduled payment date in format ISO 8601 YYYY-MM-DD
numberOfPaymentsThe number of payments if recurring
paymentsIntervalThe frequency of payments if recurring
memoAny memo attached to the payment
firstNameThe Recipient account owner first name
middleInitialThe Recipient account owner middle initial
lastNameThe Recipient account owner last name
addressThe Recipient account owner address
cityThe Recipient account owner city
stateThe Recipient account owner state
zipCodeThe Recipient account owner ZIP code
countryThe Recipient account owner country
paymentIdThe identification number for the payment.
statusThe current status of the transaction. See Payments Overview
dateCreatedTransaction processed date in format ISO 8601 YYYY-MM-DD
dateUpdatedDate of last status update in format ISO 8601 YYYY-MM-DD
returnCodeValue set for ACH Returns only
publicTraceNumberValue set for ACH transactions only