As a valued client of Paxum , you able to leverage our Payment API to streamline and automate your payment processes. This API is specifically designed to enhance your business efficiency, significantly reducing costs and minimizing the risk of manual errors.
With the Paxum Payment API, you can effortlessly manage a multitude of payment activities. From overseeing account details to processing various types of payments and handling diverse payout methods, all these functionalities are available without the need for manual intervention in the web interface.
For detailed information on specific endpoints and operations of this API, feel free to explore the menu on the left.
The Paxum Payment API prioritizes the security of your financial transactions. To authenticate each API request, it's essential to sign them using your assigned API Access Key and API Secret Key. This signature process is not only crucial for verifying your identity with Paxum but also serves as a protective measure against unauthorized access.
We've designed this authentication mechanism to be compatible with a wide array of major programming languages (PHP/JS/Ruby), ensuring you can integrate it smoothly into various technological environments. This flexibility allows you to seamlessly incorporate Paxum's Payment API into your existing infrastructure.
To assist you in this process, we provide a step-by-step example demonstrating how to correctly sign and send a payload. This example, employing commonly used Linux command-line tools like echo, openssl, and curl, is aimed at illustrating an effective method for secure API request authentication.
Param | Value |
---|---|
Api Key | cbKISWlVIoO4xh0SH4noSFrmmY6uwIlqr97IwViMgAo= |
Secret Key | iFK7L5K06KBlcIRUespQxRCtcxolknTGdHG0e4O31eM= |
Request Url | /v2/account/590900/transactions?limit=3 |
$ echo -n "/v2/account/590900/transactions?limit=3" | openssl dgst -sha256 -hmac "iFK7L5K06KBlcIRUespQxRCtcxolknTGdHG0e4O31eM="
(stdin)= aa6ecd0b6f5c3f90763a4c068a6d991ddb24f8e667411437761ed81c72da57b8
curl --request GET \
--header 'X-API-KEY: cbKISWlVIoO4xh0SH4noSFrmmY6uwIlqr97IwViMgAo=' \
--header 'X-API-SIGNATURE: aa6ecd0b6f5c3f90763a4c068a6d991ddb24f8e667411437761ed81c72da57b8' \
--url 'https://api.paxum.com/v2/account/590900/transactions?limit=3'
Param | Value |
---|---|
Api Key | cbKISWlVIoO4xh0SH4noSFrmmY6uwIlqr97IwViMgAo= |
Secret Key | iFK7L5K06KBlcIRUespQxRCtcxolknTGdHG0e4O31eM= |
Request Url | /v2/account/590900/transfer/p2p |
Request Body | {"beneficiaryEmail": "test@example.com","amount": 1,"currency": "USD","description": "Service payment"} |
$ echo -n '/v2/account/590900/transfer/p2p{"beneficiaryEmail": "test@example.com","amount": 1,"currency": "USD","description": "Service payment"}' | openssl dgst -sha256 -hmac "iFK7L5K06KBlcIRUespQxRCtcxolknTGdHG0e4O31eM="
(stdin)= dc7d91c82ab1858dea3d7facc76edb4bf54608d9926f0fbc6bf48b754915c7a5
curl --request POST \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: cbKISWlVIoO4xh0SH4noSFrmmY6uwIlqr97IwViMgAo=' \
--header 'X-API-SIGNATURE: 95bae3952f8e820c5eac9f99958f9af5af8e31cc9e6c746d4899a143b2cabb4a' \
--url 'https://api.paxum.com/v2/account/590900/transfer/p2p' \
--data '{"beneficiaryEmail": "test@example.com","amount": 1,"currency": "USD","description": "Service payment"}'
To efficiently navigate through large sets of results, the Paxum Payment API implements a pagination technique known as cursoring. This method divides the results into manageable pages, the size of which can be controlled by the limit
parameter in your request. Cursoring provides an intuitive way to traverse these pages both forward and backward.
When you make a cursored request, the API response will include several key cursor-related elements: meta.cursor.next
, meta.cursor.prev
, meta.cursor.current
, and meta.cursor.count
. These elements are essential for seamless pagination:
meta.cursor.next
: Use this value as the cursor
parameter in your next request to obtain the subsequent batch of results.meta.cursor.prev
: This value, when used as the cursor
parameter, fetches the previous batch of results.meta.cursor.current
: Indicates the current position in the result set.meta.cursor.count
: Provides the total number of items in the result set.By effectively using these cursor values, you can precisely and easily navigate through the data provided by the Paxum Payment API.
curl --get \
--header 'X-API-KEY: <APIKEY>' \
--header 'X-API-SIGNATURE: <SIGNATURE>' \
--url 'https://api.paxum.com/v2/account/12345/transactions'
--data 'limit=3'
{
"data": [ ... ],
"meta": {
"cursor": {
"count": 3,
"current": null,
"next": "NShQHHfwEB1j",
"prev": null
}
}
}
curl --get \
--header 'X-API-KEY: <APIKEY>' \
--header 'X-API-SIGNATURE: <SIGNATURE>' \
--url 'https://api.paxum.com/v2/account/12345/transactions' \
--data 'limit=3' \
--data 'cursor=NShQHHfwEB1j'
{
"data": [ ... ],
"meta": {
"cursor": {
"count": 3,
"current": "NShQHHfwEB1j",
"next": "NSSV7ChtxVjG",
"prev": "ggAYt3ZM3b2e"
}
}
}
Paxum Payment API includes asynchronous operations, such as Customer Verification and Payments. Typically, the results of these operations are not available instantly and require subsequent status checks.
Instead of continuously polling for status updates after initiating an asynchronous method, we offer a more efficient solution: webhooks. By configuring a webhook in the Merchant API settings, you can receive real-time notifications about the completion of your request.
When you set up a webhook, the Paxum Payment API will send an HTTP POST notification to your specified endpoint as soon as the request is completed. This approach not only saves resources but also provides timely updates, enhancing the overall efficiency of your asynchronous operations.
The Paxum Payment API signs all webhook events sent to your endpoints with a signature. This feature allows you to verify that the events were sent by Paxum Payment API rather than a third party.
The signature is created using a unique secret key, which is generated for each endpoint separately. We include the signature in the X-SIGNATURE HTTP-header.
POST / HTTP/1.1
Host: webhook.example.com
Accept: */*
Accept-Encoding: gzip
Content-Length: 176
Content-Type: application/json
X-Signature: 94f797bb7b69ffa426d7fd1285027b38f690bfd4e10ae358d14cf14d27294477
{"requestId":"c26181c6-8e29-42fd-b4e6-ad86e2c92183","status":"COMPLETE","statusCode":"0","statusMessage":null,"payload":{"transactionId":11111111,"status":"VALIDATED","fee":1}}
echo -n '{"requestId":"c26181c6-8e29-42fd-b4e6-ad86e2c92183","status":"COMPLETE","statusCode":"0","statusMessage":null,"payload":{"transactionId":11111111,"status":"VALIDATED","fee":1}}' | openssl dgst -sha256 -hmac "sRQgK+gJSD4qFsVGct3sYU6kWMnO0OoWLAClzTlz32Y="
(stdin)= 94f797bb7b69ffa426d7fd1285027b38f690bfd4e10ae358d14cf14d27294477
Code | Description |
---|---|
51 | Not Sufficient Funds |
52 | Single Transaction Limit Amount Exceeded |
53 | Daily Transaction Limit Amount Exceeded |
54 | Monthly Transaction Limit Amount Exceeded |
56 | Daily Transaction Limit Number Exceeded |
57 | Monthly Transaction Limit Number Exceeded |
58 | Transaction Not Permitted |
59 | Daily Transaction Funding Number Exceeded |
60 | Monthly Transaction Funding Number Exceeded |
61 | Daily Transaction Funding Number Exceeded |
62 | Monthly Transaction Funding Number Exceeded |
CA | Account is closed |
UA | Unverified Account |
NSPC | Closed Account |
NSPU | Unverified Account |
LA | Account has been limited |
NSP | Not supported |
TT1 | The beneficiary account is closed |
TT2 | The customer has a higher risk rating than your account risk level comfort limit |
TT3 | The customer has a lower reputation rating than your account reputation level comfort limit |
TT4 | The customer is in your black list |
TT5 | You are not allowed to send money to this account |
TT6 | Funds were not transferred |
Paxum Payment API Sandbox is an essential tool for testing and ensuring a smooth integration before your production launch. This dedicated environment is designed to mimic the behavior of the live API, using test-specific elements and simulated responses based on mock data. It allows you to safely test the functionality of the Payment APIs in real-time scenarios without affecting live data.
The endpoint for accessing the Paxum Payment API Sandbox is sandbox-api.paxum.com. This separate endpoint ensures that all your test transactions remain isolated from your production environment, providing a secure and accurate testing ground for your integration needs.
Result | |
---|---|
test_user1@example.com | Active business customer |
test_user2@example.com | Active personal customer |
test_user3@example.com | Inactive business customer |
test_user4@example.com | Inactive personal customer |
All others | Customer not found error |
Result | |
---|---|
test_user1@example.com | All transferred fields are MATCHED |
test_user2@example.com | All transferred fields are PARTIAL_MATCH or NOT_MATCHED |
test_user3@example.com | All transferred fields are NOT_MATCHED |
test_user4@example.com | Request is incomplete |
All others | Customer not found |
Payment amount | Result |
---|---|
<=100 | Successful payment |
>100 and <=200 | Request is incomplete |
>200 and <=300 | Single Transaction Limit Amount Exceeded |
>300 and <=400 | Daily Transaction Limit Amount Exceeded |
>400 and <=500 | Monthly Transaction Limit Amount Exceeded |
>500 | Not Sufficient Funds |
Payment API limits the number of API calls within any given hour. By default maximum API limit in a 1-hour window is 5000 requests. HTTP 429 return code is used when breaking a request rate limit.
The Paxum Payment API supports idempotency for safely retrying requests without accidentally performing the same operation twice.
To perform an idempotent request, simply add the X-Idempotency-Key header to your POST request. The value of X-Idempotency-Key should be a unique identifier for the request, represented as a string not exceeding 64 characters. We recommend using V4 UUID for this purpose.
If you attempt to resend a request with the same X-Idempotency-Key and X-Api-Key combination within 72 hours, the API will ensure that you receive an identical response to that of the original request.
During the validity period, you can only send the same payload with the same idempotency key. If the payload is different, but the idempotency key is the same, you receive an HTTP 409 error
The Account List method is a fundamental aspect of Payment API, offering a comprehensive overview of your currency accounts, inclusive of their total, pending, and available balances. This is integral for efficient financial transaction management. An essential attribute of this method is the acquisition of account IDs, which are required for the execution of subsequent payment operations.
id | int The ID of the Currency Account |
Array of objects (AccountBalance) The list of accounts | |||||||||||||||
Array
|
curl \ --header 'X-API-KEY: <APIKEY>' \ --header 'X-API-SIGNATURE: <SIGNATURE>' \ --url 'https://api.paxum.com/v2/account'
{- "data": [
- {
- "id": 12345,
- "number": "XXXXXXXXXXXXXXXXXX",
- "type": "CURRENT",
- "balance": 50500,
- "availableBalance": 50000,
- "pendingBalance": 500,
- "currency": "USD"
}
]
}
This method offers a chronological overview of transactions, sorted by creation date in reverse order. By inputting an Account ID, you receive a detailed list of past transactions. The response includes essential details like transaction amounts, dates, types, and statuses, facilitating in-depth financial analysis and record-keeping.
id required | int The ID of the account |
fromDate | string <date-time> Starting date for the transaction list |
toDate | string <date-time> Ending date for the transaction list |
reference | string The payment reference. It can be a transaction ID, a payment ID, a payment reference, or a payment description |
keyword | string |
transactionType | string Transaction type (P2P, WIRE, EFT, EXTERNAL_CARD, BETWEEN_ACCOUNTS, PREPAID_CARD_LOAD, REVERSAL, FEE, ATM, POS, REFUND, CHARGEBACK, FACTORING) |
limit | int [ 1 .. 1000 ] Default: 1000 Items per page |
cursor | string |
Array of objects (Transaction) List of transactions | |||||||||||||||||
Array
| |||||||||||||||||
object (MetaPayload) Response for some queries | |||||||||||||||||
|
message | string |
curl --get \ --header 'X-API-KEY: <APIKEY>' \ --header 'X-API-SIGNATURE: <SIGNATURE>' \ --url 'https://api.paxum.com/v2/account/12345/transactions' \ --data 'fromDate=2020-01-01' \ --data 'toDate=2020-12-31' \ --data 'limit=100'
{- "data": [
- {
- "id": 48375923,
- "amount": 1,
- "currency": "USD",
- "description": "string",
- "reference": "#555-349-489",
- "balance": "50500",
- "transactionType": "P2P",
- "documentDate": null
}
], - "meta": {
- "current": null,
- "next": "Hdd9w8d3uvm55",
- "prev": null,
- "count": 321
}
}
Get a list of fees for a country
code required | string Example: CA The country code (ISO 3166-1 alpha-2) |
amount required | float Example: amount=1000 Transaction amount |
currencyCode required | string Enum: "USD" "EUR" "GBP" Example: currencyCode=USD Debit account currency in ISO 4217 format (example: USD) |
Array of objects Transaction fees list | |||||||||
Array
|
curl --get \ --header 'X-API-KEY: <APIKEY>' \ --header 'X-API-SIGNATURE: <SIGNATURE>' \ --url 'https://api.paxum.com/v2/countries/CA/fee' --data 'amount=1000' --data 'currencyCode=USD'
{- "data": [
- {
- "type": "EFT",
- "currency": "CAD",
- "fee": 5,
- "feeCurrency": "USD"
}
]
}
List the available countries
Array of objects List of countries | |||||||||||||||
Array
|
curl \ --header 'X-API-KEY: <APIKEY>' \ --header 'X-API-SIGNATURE: <SIGNATURE>' \ --url 'https://api.paxum.com/v2/countries'
{- "data": [
- {
- "name": "Canada",
- "code": "CA",
- "availableTransfers": [
- {
- "type": "WIRE",
- "maxTransferAmount": 100000,
- "currency": "USD"
}
]
}
]
}
Checking if the customer exists
string Email of the customer to verify. |
object (CustomerLookup) Customer info | |||||||
|
message | string |
curl --get \ --header 'X-API-KEY: <APIKEY>' \ --header 'X-API-SIGNATURE: <SIGNATURE>' \ --url 'https://api.paxum.com/v2/customer/lookup' --data 'email=test@example.com'
{- "data": {
- "email": "test@example.com",
- "accountType": "business",
- "accountStatus": "active"
}
}
Customer Identity Verification. Note that this is a paid service, and $1 fee will be charged from your account. Method is used to verify the identity of customer between your sources and our customer records. ID of the fee transaction can be retrieved via the Customer Verification Status endpoint.
email required | string Customer email |
firstName | string Customer first name |
lastName | string Customer last name |
businessName | string Customer business name |
birthDate | string Customer date of birth in YYYY-MM-DD format |
businessRegistrationNumber | string Customer business registration number |
address | string Customer address |
city | string Customer city |
stateCode | string Customer state code (ISO 3166-2) |
countryCode | string Customer country code (ISO 3166-1 alpha-2) |
object (ApiRequestReference) Request reference | |||
|
{- "email": "test@example.com",
- "firstName": "Jane",
- "lastName": "Doe",
- "businessName": null,
- "birthDate": "1989-11-12",
- "businessRegistrationNumber": null,
- "address": null,
- "city": null,
- "stateCode": null,
- "countryCode": null
}
{- "data": {
- "requestId": "cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c"
}
}
Get customer identity verification status
uuid required | string Example: cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c The ID of the verification request |
object | |||||||||||||||||||||||||||||||||||
|
message | string |
curl \ --header 'X-API-KEY: <APIKEY>' \ --header 'X-API-SIGNATURE: <SIGNATURE>' \ --url 'https://api.paxum.com/v2/customer/verification/cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c'
{- "data": {
- "payload": {
- "email": "MATCHED",
- "firstName": "MATCHED",
- "lastName": "MATCHED",
- "businessName": "MATCHED",
- "businessRegisrationNumber": "MATCHED",
- "birthDate": "MATCHED",
- "address": "MATCHED",
- "city": "MATCHED",
- "state": "MATCHED",
- "country": "MATCHED",
- "transactionId": 12345
}, - "requestId": "cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c",
- "status": "COMPLETE",
- "statusCode": 0,
- "statusMessage": null
}
}
Transfer funds to external bank account
id required | int Account ID |
transferType required | string Enum: "WIRE" "EFT" Transfer type (WIRE or EFT) |
amount required | float > 0 Transfer amount |
currency required | string Transfer currency in ISO 4217 format (Example: USD) |
description required | string <= 100 characters Transaction note, will be passed to correspondent bank |
reference | string Transaction reference, should be used for your internal reference |
beneficiaryName required | string Beneficiary name |
beneficiaryType required | string Enum: "PERSONAL" "BUSINESS" Beneficiary type (PERSONAL or BUSINESS) |
beneficiaryAccount required | string Beneficiary account number |
beneficiaryCountryCode required | string Beneficiary country code in ISO 3166-1 alpha-2 format |
beneficiaryStateCode required | string Beneficiary state code in ISO 3166-1 alpha-2 format |
beneficiaryAddress required | string Beneficiary address |
beneficiaryCity required | string Beneficiary city |
beneficiaryPostalCode required | string <= 10 characters Beneficiary postal code |
beneficiaryBankSwiftCode required | string Beneficiary's bank SWIFT code |
beneficiaryBankName required | string Beneficiary's bank name |
beneficiaryBankCountryCode required | string Beneficiary's bank country code in ISO 3166-1 alpha-2 format |
beneficiaryBankStateCode required | string Beneficiary's bank state code in ISO 3166-1 alpha-2 format |
beneficiaryBankAddress required | string Beneficiary's bank address |
beneficiaryBankCity required | string Beneficiary's bank city |
beneficiaryBankPostalCode required | string <= 10 characters Beneficiary's bank postal code |
correspondentBankSwift | string Correspondent bank SWIFT code (for WIRE transfers) |
correspondentBankAccountNumber | string Correspondent bank account number (for WIRE transfers) |
extraParams | string Additional parameters required for transfer |
object (ApiRequestReference) Request reference | |||
|
message | string |
{- "transferType": "EFT",
- "amount": 1,
- "currency": "USD",
- "description": "Payment for Invoice #1234",
- "reference": "#555-349-489",
- "beneficiaryName": "John Doe",
- "beneficiaryType": "PERSONAL",
- "beneficiaryAccount": "123123123123",
- "beneficiaryCountryCode": "US",
- "beneficiaryStateCode": "NY",
- "beneficiaryAddress": "1 Main St",
- "beneficiaryCity": "New York",
- "beneficiaryPostalCode": "10001",
- "beneficiaryBankSwiftCode": "BNDCCAMMXXX",
- "beneficiaryBankName": "National Bank of Canada",
- "beneficiaryBankCountryCode": "CA",
- "beneficiaryBankStateCode": "QC",
- "beneficiaryBankAddress": "DE LA GAUCHETIERE WEST, 600",
- "beneficiaryBankCity": "MONTREAL",
- "beneficiaryBankPostalCode": "H3B 4L2",
- "correspondentBankSwift": "",
- "correspondentBankAccountNumber": "",
- "extraParams": {
- "REMITTANCE_PURPOSE": "ADVERTISING_EXPENSES",
- "BANK_CODE": "000614171"
}
}
{- "data": {
- "requestId": "cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c"
}
}
Get bank transfer extra params list
transferType | string Example: transferType=EFT Transfer type (WIRE or EFT) |
beneficiaryType | string Example: beneficiaryType=PERSONAL Beneficiary type (PERSONAL or BUSINESS) |
currency | string Example: currency=USD The currency code (example: USD) |
country | string Example: country=US The country code (example: US) |
Array of objects (ExtraParameter) List of extra params | |||||||
Array
|
curl --get \ --header 'Content-Type: application/json' \ --header 'X-API-KEY: <APIKEY>' \ --header 'X-API-SIGNATURE: <SIGNATURE>' \ --url 'https://api.paxum.com/v2/transfer/extraParams' --data 'transferType=EFT' \ --data 'beneficiaryType=PERSONAL' \ --data 'currency=CAD' \ --data 'country=CA'
{- "data": [
- {
- "name": "REMITTANCE_PURPOSE",
- "label": "Purpose of remittance",
- "variants": [
- {
- "value": "ADVERTISING_EXPENSES",
- "label": "Advertising and\\/or public relations related expenses"
}, - {
- "value": "ADVISORY_FEES",
- "label": "Fees for advisory or consulting service"
}, - {
- "value": "BUSINESS_INSURANCE",
- "label": "Business related insurance payment"
}, - {
- "value": "CONSTRUCTION_EXPENSES",
- "label": "Construction expenses"
}, - {
- "value": "DELIVERY_FEES",
- "label": "Delivery fees"
}, - {
- "value": "EDUCATION",
- "label": "Education"
}, - {
- "value": "EXPORTED_GOODS",
- "label": "Payments for exported goods"
}, - {
- "value": "FAMILY_SUPPORT",
- "label": "Family support"
}, - {
- "value": "FUND_INVESTMENT",
- "label": "Fund investment"
}, - {
- "value": "GIFT_AND_DONATION",
- "label": "Gift and other donations"
}, - {
- "value": "HOTEL_ACCOMMODATION",
- "label": "Hotel accommodation"
}, - {
- "value": "INSURANCE_CLAIMS",
- "label": "Insurance claims payment"
}, - {
- "value": "LIBERALIZED_REMITTANCE",
- "label": "Liberalized remittance"
}, - {
- "value": "LOAN_PAYMENT",
- "label": "Payment of loans"
}, - {
- "value": "MAINTENANCE_EXPENSES",
- "label": "Maintenance or other expenses"
}, - {
- "value": "MEDICAL_TREATMENT",
- "label": "Medical treatment"
}, - {
- "value": "OFFICE_EXPENSES",
- "label": "Office expenses"
}, - {
- "value": "OTHER",
- "label": "Other purposes"
}, - {
- "value": "OTHER_FEES",
- "label": "Broker, commitment, guarantee and other fees"
}, - {
- "value": "PERSONAL_TRANSFER",
- "label": "Personal transfer"
}, - {
- "value": "PROPERTY_PURCHASE",
- "label": "Residential property purchase"
}, - {
- "value": "PROPERTY_RENTAL",
- "label": "Property rental payment"
}, - {
- "value": "ROYALTY_FEES",
- "label": "Royalty, trademark, patent and copyright fees"
}, - {
- "value": "SALARY_PAYMENT",
- "label": "Payment of salary"
}, - {
- "value": "SERVICE_CHARGES",
- "label": "Payment for services"
}, - {
- "value": "SHARES_INVESTMENT",
- "label": "Investment in shares"
}, - {
- "value": "SMALL_VALUE_REMITTANCE",
- "label": "Small value remittance"
}, - {
- "value": "TAX_PAYMENT",
- "label": "Tax payment"
}, - {
- "value": "TRANSPORTATION_FEES",
- "label": "Transportation fees"
}, - {
- "value": "TRAVEL",
- "label": "Travel"
}, - {
- "value": "UTILITY_BILLS",
- "label": "Utility bills"
}
]
}
]
}
Transfer funds to crypto wallet
id required | int Account ID |
amount required | float > 0 Transfer amount |
currency required | string Enum: "USDT" "USDC" Currency code (example: USDT) |
wallet required | string Wallet address. Please make sure to use ERC20 or TRC20 based wallets for USDT & USDC payouts. |
description required | string <= 100 characters Transaction note, visible to recipient |
beneficiaryName required | string Beneficiary name |
beneficiaryCountryCode required | string The beneficiary country code (ISO 3166-1 alpha-2) |
object (ApiRequestReference) Request reference | |||
|
message | string |
{- "amount": 1,
- "currency": "USDT",
- "wallet": "0xad13ccacb19dd302b78b8bae7fa1ec6fd52baaee",
- "description": "Payment for invoice #1234",
- "beneficiaryName": "John Doe",
- "beneficiaryCountryCode": "CA"
}
{- "data": {
- "requestId": "cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c"
}
}
Transfer funds by global pay
id required | int Account ID |
amount required | float > 0 The amount to be transferred |
description required | string <= 100 characters The transaction note |
beneficiaryEmail required | string The beneficiary email |
beneficiaryName required | string The beneficiary name |
beneficiaryType required | string Enum: "PERSONAL" "BUSINESS" The beneficiary type (PERSONAL or BUSINESS) |
beneficiaryCountryCode required | string The beneficiary country code (ISO 3166-1 alpha-2) |
feeShare required | string Enum: "OUR" "BEN" Fee payer indicator |
paymentMethods | Array of strings Items Enum: "EFT" "WIRE" "CRYPTO" "OCT" Payment methods. Required if feeShare=OUR, otherwise ignored |
object (ApiRequestReference) Request reference | |||
|
message | string |
{- "amount": 1,
- "description": "Description example",
- "beneficiaryEmail": "test@example.com",
- "beneficiaryName": "John Doe",
- "beneficiaryType": "PERSONAL",
- "beneficiaryCountryCode": "CA",
- "feeShare": "OUR",
- "paymentMethods": [
- "EFT"
]
}
{- "data": {
- "requestId": "cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c"
}
}
Transfer funds from one account to another
id required | int Account ID |
fromEmail | string Payment email |
beneficiaryEmail required | string Email address of the beneficiary |
amount required | float > 0 Transfer amount |
currency required | string Transfer currency in ISO 4217 code (example: USD) |
description required | string <= 255 characters Transaction note, visible to recipient |
reference | string Transaction reference for your reference |
object (ApiRequestReference) Request reference | |||
|
message | string |
{- "fromEmail": null,
- "beneficiaryEmail": "test@example.com",
- "amount": 1,
- "currency": "USD",
- "description": "Payment for invoice #1234",
- "reference": "#555-349-489"
}
{- "data": {
- "requestId": "cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c"
}
}
Get transfer status by request ID
uuid required | string Example: cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c The ID of the transfer request |
object | |||||||||||||||||||
|
message | string |
curl \ --header 'X-API-KEY: <APIKEY>' \ --header 'X-API-SIGNATURE: <SIGNATURE>' \ --url 'https://api.paxum.com/v2/transfer/status/cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c'
{- "data": {
- "payload": {
- "transactionId": "12345",
- "fee": "1",
- "status": "VALIDATED"
}, - "requestId": "cda1ac04-4c8c-4cbc-a6b0-7d8c0bb4265c",
- "status": "COMPLETE",
- "statusCode": 0,
- "statusMessage": null
}
}