Issue a Credit
Given a customerId, makes a request to credit an account.
Headers
Content-Type String - (Required)
application-json
Accept String - (Required)
application-json
Authorization String - (Required)
Bearer {ACCESS_TOKEN} (See Authentication)
Parameters
destination Object - (Required)
An object containing two fields: id={CUSTOMER_ID}, type='CUSTOMER'.
source Object - (Required)
An object containing two fields: id={MERCHANT_ID}, type='MERCHANT'. Note: Your merchant would have been provided at onboarding and is available from the Merchant Portal.
amount Object - (Required)
An object containing two fields: currency='USD', value={DOLLAR_VALUE}. Note: Payment amount must be a decimal number with a maximum of two decimal digits after decimal separator.
clientRefefenceId String - (Optional)
Unique merchant-generated ID that identifies this payment. This ID is stored along with the payment request for ease of reconciling.
softDescriptor String - (Optional)
This is an optional freeform text field that will travel with the payment instruction to the RDFI. Please note that this information may or may not be displayed to the customer, based on the bank’s capabilities, and method of access (i.e., online banking, statement, etc.) - 80 Alphanumeric Character Limit.
requestKey String - (Required)
Merchant-generated unique key for this specific payment call. This is used to avoid duplicate payment calls (idempotency). The payment call is rejected if a payment record already exists in the system with the same request key.
Returns
paymentId String
Link Money-generated payment-related ID
paymentStatus enum
PENDING, AUTHORIZED, or TERMINAL_FAILED - indicates if the refund was initiated successfully
clientReferenceId String
Unique merchant-generated ID that identifies this payment. This ID is the same value that was submitted with the payment request.
Post Request
POST - /v1/payments1curl --location --request POST '{API_BASE_URL}/v1/payments' \
2--header 'Content-Type: application/json' \
3--header 'Accept: application/json' \
4--header 'Authorization: Bearer {ACCESS_TOKEN}' \
5--data-raw '{
6 source: {
7 "id": "{MERCHANT_ID}",
8 "type": "MERCHANT"
9 },
10 destination: {
11 "id": "{CUSTOMER_ID}",
12 "type": "CUSTOMER""
13 },
14 "amount": {
15 "currency": "USD",
16 "value": 1.00
17 },
18 "clientReferenceId": "{PAYMENT-RELATED_ID}",
19 "softDescriptor": "{ENTRY_IN_CUSTOMER_BANK_STATEMENT}",
20 "requestKey": "{UNIQUE_KEY}"
21}'
Response Body
1{
2 "paymentId": "5914646d1-7ab5-9553-8389-db80c5c5dda",
3 "paymentStatus": "AUTHORIZED",
4 "clientReferenceId": "CREDIT-1234"
5}
1{
2 "paymentId": "5914646d1-7ab5-9553-8389-db80c5c5dda",
3 "paymentStatus": "TERMINAL_FAILED",
4 "clientReferenceId": "CREDIT-1234",
5 "errorDetails": {
6 "errorCode": "PAYMENT_DECLINED",
7 "errorMessage": "Transaction amount is greater than the limit."
8 }
9}
Once your customer has linked their account, you can call the API's payments endpoint to make a credit. The auth token is required to make this request. The customerId returned by the account linking process is also required. Note that the customerId should be stored in your backend systems for this and future payments requests.