Skip to content

SwiftX payment API (2.5.1)

Intro

Swiftx API facilitate fast payments via bank tranfers to specified beneficiaries.

Changelog

2.5.1 Amount required for quote

  • Since quotes are not reusable since v2.5.0, we could now add requirement that quote also contains rate: Quote amount is in base currency (e.g. AED/BHD) and payment amount is in destination currency (e.g. INR) We now check that payment_amount = quote_amount * quote_rate

2.5.0 Extended sender details required for payments

  • /v2/payment_ext endpoint is now merged with /v2/payment endpoint; You must supply details, like sender name, dob, some document id etc

  • Quotes are now per single payment (i.e. no quote reuse, which was possible by accident)

  • For more efficient routing you can now add amount, bank and bank account details to the quote which allows for more efficient routing of payments.

2.1.1 External ID for payments

  • You can now supply external_id for the payment order and fetch the payment status using that id.

    POST /v2/payment (external_id body parameter)

    GET /v2/payments/{id}?external=true (external_id body parameter)

2.1.0 Extended quote and payment API

  • You can now supply additional parameters to quote request (amount, acc and bank ID). These allows us to return best possible quote and increase payment success rate.

  • There is a new /v2/payment_ext endpoint which allows adding sender info. This allows payments for more countries.

2.0.0 Initial release of the v2 API

Credentials

Before using this API you need to obtain valid credentials:

  • ACCESS KEY: Random base64 encoded string with custom prefix
  • SECRET KEY: Random base64 encoded string

If possible, you need to keep ACCESS_KEY private and under no circumstances you should share your SECRET KEY. For user convenience, ACCESS KEY includes custom prefix in the value, e.g.

    company-test-sIEUpUP7b41n51WY

where the first part is your company tag, followed by key usage hint and last part is a random value.

Authentication

For API authentication we use JWT/Bearer tokens, signed with your SECRET KEY

Currently supported JWT algorithms are:

  • HS256

JWT token header MUST include kid:

{
  "alg": "HS256",
  "typ": "JWT",
  "kid": "someuser-demo-1234567890ABCDEF"
}

JWT token body MUST include the following claims:

{
    "sub": "someuser-demo-1234567890ABCD", /* (your `ACCESS KEY`), the same as `kid` */
    "exp": 1234,  /* (expiration time, UNIX timestamp, UTC) */
    "iat": 1234,  /* (issued at time, UNIX timestamp, UTC) */
    "aud": "https://api.example.net",  /* (API URL, e.g. "https://api.swiftxappdev.net") */
    "iss": "https://api.example.com"   /* (API URL, e.g. "https://api.swiftxappdev.net") */
}

In addition to the above, you can add hmac claim for POST requests:

{
    "hmac": "str (SHA256 HMAC of the raw POST body)"
}

This allows attesting that POST payloads are not modified in transit.

Using fast expiring tokens with HMAC adds additional guards so your requests can't be intercepted/forged, nor replayed.

Swiftx doesn't provide JWT editor for the time being, you can use the excellent jwt.io (password is 'jwtv2')

Transaction states

Transactions accepted by the API can be in one of the following states. As soon as the order is accepted, you will get unique id in the response, which can base used to track the transaction.

Please note that orders rejected up-front by the API with 4xx (authentication or validation errors) are not represented in the state table, since they've never been accepted for processing.

Status CategoryStatusDescriptionNotes
In ProgressqueuedPayment order acceptedOrder is accepted and waiting to be submitted for processing
In ProgresspendingPayment order pendingDEPRECATED (see processing)
In ProgressprocessingPayment order is processingPayment submitted and accepted by processor
SuccesssucceededPayment executed successfully
FailedfailedPayment failedPayment failed by the processor
FailedrejectedPayment rejectedPayment rejected by processor or by API during processing (e.g API could not route)
FailedcanceledPayment is canceledDEPRECATED (see reversed)
FailedreversedPayment is reversedPayment reversed (and refunded) on the processor side
Call SupportunknownPayment state is unknownPayment has encountered uknown status by the processor, needs manual intervantion

Settlement currencies

This API enables processing and settlement of transactions in fiat currency USD, and stable coins: USDT and USDC. It supports seamless currency conversion, validation, and settlement routing between traditional and digital assets.

Download OpenAPI description
Languages
Servers
Mock server
https://docs.swiftxpay.com/_mock/openapi/
Swiftx Test server
https://api.swiftxapptest.net/
Swiftx Production server
https://api.swiftxapp.net/
Operations
Operations

Request

Execute payment to beneficiary with specified bank details.

Headers
authorizationstring(Authorization)required

Bearer token (JWT signed with your SECRET_KEY)

Bodyapplication/jsonrequired
countrystring(Country)required

ISO 3166-1 alpha-3 Country Code

Discriminator
Value "BGD"
currencystring(CurrencyCode)required

Base currency (the currency will be automatically converted to local currency using the provided quote)

Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
quotestring(uuid4)(Quote)required

Valid currency quote id (UUID4) as returned by POST /v2/quote. Quote currency must match base currency.

amountnumber(Amount)> 0required

The amount in the destination currency (quote.rate * quote.amount). The value must match the value calculated from the quote. It will return Error if the numbers are not the same (up to 4 decimal places)

bank_namestring(Bank Name)required

Bank name where the beneficiary account is held.

beneficiary_namestring(Beneficiary Name)<= 128 charactersrequired

Full name of the beneficiary (name and surname).

beneficiary_citystring(Beneficiary City)required

Beneficiary address (city)

beneficiary_addressstring(Beneficiary Address)<= 70 charactersrequired

Beneficiary address (street and number)

beneficiary_account_numberstring(Beneficiary Account Number)required

Bank account id of the beneficiary.

beneficiary_mobileBeneficiary Mobile (string) or Beneficiary Mobile (null)(Beneficiary Mobile)

Valid Indian mobile number (ITU E.164 format). Country code prefix (+91).

Any of:

Valid Indian mobile number (ITU E.164 format). Country code prefix (+91).

string(Beneficiary Mobile)
beneficiary_emailBeneficiary Email (string) or Beneficiary Email (null)(Beneficiary Email)

If specified, must be a valid email address

Any of:

If specified, must be a valid email address

string(email)(Beneficiary Email)
remarksRemarks (string) or Remarks (null)(Remarks)

Supplementary info and notes for tracking the transaction.

Any of:

Supplementary info and notes for tracking the transaction.

string(Remarks)
sender_namestring(Sender Name)required

Full name of Sender (name and surname)

sender_birthdateSender Birthdate (string) or Sender Birthdate (null)(Sender Birthdate)

Sender birthdate

Any of:

Sender birthdate

string(date)(Sender Birthdate)
sender_identity_doc_expSender Identity Doc Exp (string) or Sender Identity Doc Exp (null)(Sender Identity Doc Exp)

Expiry date for the sender identity document

Any of:

Expiry date for the sender identity document

string(date)(Sender Identity Doc Exp)
sender_identity_doc_countrySender Identity Doc Country (string) or Sender Identity Doc Country (null)(Sender Identity Doc Country)

Sender country (nationality) (ISO 3166-1 alpha-3 Country Code)

Any of:

Sender country (nationality) (ISO 3166-1 alpha-3 Country Code)

= 3 characters
string(Sender Identity Doc Country)= 3 characters
sender_citystring(Sender City)required

Sender residency/address (city)

sender_addressstring(Sender Address)<= 70 charactersrequired

Sender residency/address (street and number)

sender_countrystring(Sender Country)= 3 charactersrequired

Sender residency/country (ISO 3166-1 alpha-3 Country Code)

sender_mobileSender Mobile (string) or Sender Mobile (null)(Sender Mobile)

Sender mobile number (ITU E.164 format)

Any of:

Sender mobile number (ITU E.164 format)

string(Sender Mobile)
sender_relationstring(Relation)required

Sender relation to beneficiary (Kin)

Enum"aunt""brother""colleague""cousin""daughter""father""friend""husband""inlaws""mother"
external_idExternal Id (string) or External Id (null)(External Id)

Unique ID provided by API user

Any of:

Unique ID provided by API user

[ 1 .. 128 ] characters
string(External Id)[ 1 .. 128 ] characters
timestampTimestamp (string) or Timestamp (null)(Timestamp)

Timestamp of the order (will be filled in automatically server side)

Any of:

Timestamp of the order (will be filled in automatically server side)

string(date-time)(Timestamp)
curl -i -X POST \
  https://docs.swiftxpay.com/_mock/openapi/v2/payment \
  -H 'Content-Type: application/json' \
  -H 'authorization: string' \
  -d '{
    "amount": 100,
    "bank_name": "HDFC Bank",
    "beneficiary_account_number": "7823732431829188",
    "beneficiary_account_type": "savings",
    "beneficiary_address": "Linking Road",
    "beneficiary_city": "Mumbai",
    "beneficiary_email": "rkgupta@domain.com",
    "beneficiary_mobile": "+918834907438",
    "beneficiary_name": "Rakesh Gupta",
    "country": "BGD",
    "currency": "AED",
    "quote": "00000000-0000-4000-A000-000000000000",
    "remarks": "test",
    "sender_address": "Jumeirah Beach Road",
    "sender_birthdate": "1970-01-01",
    "sender_city": "Dubai",
    "sender_country": "ARE",
    "sender_identity_doc": "A987654",
    "sender_identity_doc_country": "ARE",
    "sender_identity_doc_exp": "2038-01-19",
    "sender_identity_doc_type": "idcard",
    "sender_mobile": "+9715850185684",
    "sender_name": "Ahmed Ahmed",
    "sender_relation": "other"
  }'

Responses

Successful Response

Bodyapplication/json
idstring(uuid4)(Id)required
timestampstring(date-time)(Timestamp)required
statusstring(PaymentOrderState)required
Enum"queued""rejected""pending""processing""succeeded""failed""canceled""unknown""reversed"
msgMsg (string) or Msg (null)(Msg)
Any of:
string(Msg)
amountAmount (number) or Amount (null)(Amount)
Any of:
number(Amount)
amount_currencyDestinationCurrency (string) or null
Any of:
string(DestinationCurrency)
Enum"BDT""INR""PKR""PHP""NPR"
base_amountBase Amount (number) or Base Amount (null)(Base Amount)
Any of:
number(Base Amount)
base_currencyCurrencyCode (string) or null
Any of:
string(CurrencyCode)
Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
wallet_amountWallet Amount (number) or Wallet Amount (null)(Wallet Amount)
Any of:
number(Wallet Amount)
wallet_currencyStableCoin (string) or null
Any of:
string(StableCoin)
Enum"USDT""USDC"
wallet_premiumWallet Premium (number) or Wallet Premium (null)(Wallet Premium)
Any of:
number(Wallet Premium)
wallet_fxWallet Fx (number) or Wallet Fx (null)(Wallet Fx)
Any of:
number(Wallet Fx)
wallet_txn_costWallet Txn Cost (number) or Wallet Txn Cost (null)(Wallet Txn Cost)
Any of:
number(Wallet Txn Cost)
bank_referenceBank Reference (string) or Bank Reference (null)(Bank Reference)
Any of:
string(Bank Reference)
Response
application/json
{ "id": "00000000-0000-4000-A000-000000000000", "msg": "OK", "status": "queued", "timestamp": "2024-12-01T01:02:03.000000Z" }

Request

Create quote for use with payment

Headers
authorizationAuthorization (string) or Authorization (null)(Authorization)

Bearer token (JWT signed with your SECRET_KEY)

Any of:

Bearer token (JWT signed with your SECRET_KEY)

string(Authorization)
Bodyapplication/jsonrequired
Any of:
countrystring(ApiCountry)required

Destination country

Enum"BGD""IND""PAK""PHL""NPL"
currencystring(CurrencyCode)required

Source currency

Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
beneficiary_account_numberBeneficiary Account Number (string) or Beneficiary Account Number (null)(Beneficiary Account Number)

Bank account id of the beneficiary. [OPTIONAL]

Any of:

Bank account id of the beneficiary. [OPTIONAL]

string(Beneficiary Account Number)
bank_branch_codeBank Branch Code (string) or Bank Branch Code (null)(Bank Branch Code)

Bank branch code of the beneficiary (e.g. IFSC for India) [OPTIONAL]

Any of:

Bank branch code of the beneficiary (e.g. IFSC for India) [OPTIONAL]

string(Bank Branch Code)
amountnumber(Amount)> 0required

Valid amount in the source currency.

curl -i -X POST \
  https://docs.swiftxpay.com/_mock/openapi/v2/quote \
  -H 'Content-Type: application/json' \
  -H 'authorization: string' \
  -d '{
    "country": "BGD",
    "currency": "BHD",
    "beneficiary_account_number": "string",
    "bank_branch_code": "string",
    "amount": 0
  }'

Responses

Successful Response

Bodyapplication/json
idstring(uuid4)(Id)required
countrystring(ApiCountry)required
Enum"BGD""IND""PAK""PHL""NPL"
currencystring(CurrencyCode)required
Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
amountnumber(Amount)required
amount_destinationnumber(Amount Destination)required
ratenumber(Rate)required
timestampstring(date-time)(Timestamp)required
expiresstring(date-time)(Expires)required
wallet_ratenumber(Wallet Rate)required
min_amount_destinationMin Amount Destination (number) or Min Amount Destination (null)(Min Amount Destination)
Any of:
number(Min Amount Destination)
max_amount_destinationMax Amount Destination (number) or Max Amount Destination (null)(Max Amount Destination)
Any of:
number(Max Amount Destination)
Response
application/json
{ "amount": 100, "amount_destination": 8488.79, "country": "IND", "currency": "USD", "expires": "2024-12-01T01:17:03.000000Z", "id": "00000000-0000-4000-A000-000000000000", "max_amount_destination": 100000, "min_amount_destination": 100, "rate": 84.887912, "timestamp": "2024-12-01T01:02:03.000000Z", "wallet_rate": 84.887912 }

Request

Get info about previously created Quote

Path
idstring(uuid4)(Id)required
Query
countrystring(ApiCountry)required
Enum"BGD""IND""PAK""PHL""NPL"
Headers
authorizationstring(Authorization)required

Bearer token (JWT signed with your SECRET_KEY)

curl -i -X GET \
  'https://docs.swiftxpay.com/_mock/openapi/v2/quote/{id}?country=BGD' \
  -H 'authorization: string'

Responses

Successful Response

Bodyapplication/json
idstring(uuid4)(Id)required
countrystring(ApiCountry)required
Enum"BGD""IND""PAK""PHL""NPL"
currencystring(CurrencyCode)required
Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
amountnumber(Amount)required
amount_destinationnumber(Amount Destination)required
ratenumber(Rate)required
timestampstring(date-time)(Timestamp)required
expiresstring(date-time)(Expires)required
wallet_ratenumber(Wallet Rate)required
min_amount_destinationMin Amount Destination (number) or Min Amount Destination (null)(Min Amount Destination)
Any of:
number(Min Amount Destination)
max_amount_destinationMax Amount Destination (number) or Max Amount Destination (null)(Max Amount Destination)
Any of:
number(Max Amount Destination)
Response
application/json
{ "amount": 100, "amount_destination": 8488.79, "country": "IND", "currency": "USD", "expires": "2024-12-01T01:17:03.000000Z", "id": "00000000-0000-4000-A000-000000000000", "max_amount_destination": 100000, "min_amount_destination": 100, "rate": 84.887912, "timestamp": "2024-12-01T01:02:03.000000Z", "wallet_rate": 84.887912 }

Request

Get info about previously executed payment

Path
idId (string)(Id)required
Any of:
string(uuid4)(Id)
Query
countrystring(ApiCountry)required
Enum"BGD""IND""PAK""PHL""NPL"
externalboolean(External)

When true, the id supplied is external_id from the original payment request.

Default false
Headers
authorizationstring(Authorization)required

Bearer token (JWT signed with your SECRET_KEY)

curl -i -X GET \
  'https://docs.swiftxpay.com/_mock/openapi/v2/payments/{id}?country=BGD&external=false' \
  -H 'authorization: string'

Responses

Successful Response

Bodyapplication/json
idstring(uuid4)(Id)required
orderIndiaPayment (object) or PakistanPayment (object) or BangladeshPayment (object) or PhilippinesPayment (object)(Payment-Output)required
One of:
order.​countrystring(Country)required

ISO 3166-1 alpha-3 Country Code

Value "IND"
order.​currencystring(CurrencyCode)required

Base currency (the currency will be automatically converted to local currency using the provided quote)

Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
order.​quotestring(uuid4)(Quote)required

Valid currency quote id (UUID4) as returned by POST /v2/quote. Quote currency must match base currency.

order.​amountnumber(Amount)> 0required

The amount in the destination currency (quote.rate * quote.amount). The value must match the value calculated from the quote. It will return Error if the numbers are not the same (up to 4 decimal places)

order.​bank_namestring(Bank Name)required

Bank name where the beneficiary account is held.

order.​beneficiary_namestring(Beneficiary Name)<= 128 charactersrequired

Full name of the beneficiary (name and surname).

order.​beneficiary_citystring(Beneficiary City)required

Beneficiary address (city)

order.​beneficiary_addressstring(Beneficiary Address)<= 70 charactersrequired

Beneficiary address (street and number)

order.​beneficiary_account_numberstring(Beneficiary Account Number)required

Bank account id of the beneficiary.

order.​beneficiary_mobileBeneficiary Mobile (string) or Beneficiary Mobile (null)(Beneficiary Mobile)

Valid Indian mobile number (ITU E.164 format). Country code prefix (+91).

Any of:

Valid Indian mobile number (ITU E.164 format). Country code prefix (+91).

string(Beneficiary Mobile)
order.​beneficiary_emailBeneficiary Email (string) or Beneficiary Email (null)(Beneficiary Email)

If specified, must be a valid email address

Any of:

If specified, must be a valid email address

string(email)(Beneficiary Email)
order.​remarksRemarks (string) or Remarks (null)(Remarks)

Supplementary info and notes for tracking the transaction.

Any of:

Supplementary info and notes for tracking the transaction.

string(Remarks)
order.​sender_namestring(Sender Name)required

Full name of Sender (name and surname)

order.​sender_birthdateSender Birthdate (string) or Sender Birthdate (null)(Sender Birthdate)

Sender birthdate

Any of:

Sender birthdate

string(date)(Sender Birthdate)
order.​sender_identity_doc_expSender Identity Doc Exp (string) or Sender Identity Doc Exp (null)(Sender Identity Doc Exp)

Expiry date for the sender identity document

Any of:

Expiry date for the sender identity document

string(date)(Sender Identity Doc Exp)
order.​sender_identity_doc_countrySender Identity Doc Country (string) or Sender Identity Doc Country (null)(Sender Identity Doc Country)

Sender country (nationality) (ISO 3166-1 alpha-3 Country Code)

Any of:

Sender country (nationality) (ISO 3166-1 alpha-3 Country Code)

= 3 characters
string(Sender Identity Doc Country)= 3 characters
order.​sender_citystring(Sender City)required

Sender residency/address (city)

order.​sender_addressstring(Sender Address)<= 70 charactersrequired

Sender residency/address (street and number)

order.​sender_countrystring(Sender Country)= 3 charactersrequired

Sender residency/country (ISO 3166-1 alpha-3 Country Code)

order.​sender_mobileSender Mobile (string) or Sender Mobile (null)(Sender Mobile)

Sender mobile number (ITU E.164 format)

Any of:

Sender mobile number (ITU E.164 format)

string(Sender Mobile)
order.​sender_relationstring(Relation)required

Sender relation to beneficiary (Kin)

Enum"aunt""brother""colleague""cousin""daughter""father""friend""husband""inlaws""mother"
order.​external_idExternal Id (string) or External Id (null)(External Id)

Unique ID provided by API user

Any of:

Unique ID provided by API user

[ 1 .. 128 ] characters
string(External Id)[ 1 .. 128 ] characters
order.​timestampTimestamp (string) or Timestamp (null)(Timestamp)

Timestamp of the order (will be filled in automatically server side)

Any of:

Timestamp of the order (will be filled in automatically server side)

string(date-time)(Timestamp)
order.​beneficiary_account_typestring(BankAccountType)

Bank account type

Default "savings"
Enum"savings""current"
order.​bank_branch_nameBank Branch Name (string) or Bank Branch Name (null)(Bank Branch Name)

Branch name of the specified bank

Any of:

Branch name of the specified bank

string(Bank Branch Name)
order.​bank_branch_codestring(Bank Branch Code)required

Bank branch code (e.g. for India it is equivalent to IFSC)

order.​sender_identity_doc_typeIdentityDocumentType (string) or null

Sender identity document type

Any of:

Sender identity document type

string(IdentityDocumentType)
Enum"idcard""passport""other"
order.​sender_identity_docSender Identity Doc (string) or Sender Identity Doc (null)(Sender Identity Doc)

Sender identity document number

Any of:

Sender identity document number

string(Sender Identity Doc)
responsePaymentResponseLive (object) or nullrequired
Any of:
response.​idstring(uuid4)(Id)required
response.​timestampstring(date-time)(Timestamp)required
response.​statusstring(PaymentOrderState)required
Enum"queued""rejected""pending""processing""succeeded""failed""canceled""unknown""reversed"
response.​msgMsg (string) or Msg (null)(Msg)
Any of:
string(Msg)
response.​amountAmount (number) or Amount (null)(Amount)
Any of:
number(Amount)
response.​amount_currencyDestinationCurrency (string) or null
Any of:
string(DestinationCurrency)
Enum"BDT""INR""PKR""PHP""NPR"
response.​base_amountBase Amount (number) or Base Amount (null)(Base Amount)
Any of:
number(Base Amount)
response.​base_currencyCurrencyCode (string) or null
Any of:
string(CurrencyCode)
Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
response.​wallet_amountWallet Amount (number) or Wallet Amount (null)(Wallet Amount)
Any of:
number(Wallet Amount)
response.​wallet_currencyStableCoin (string) or null
Any of:
string(StableCoin)
Enum"USDT""USDC"
response.​wallet_premiumWallet Premium (number) or Wallet Premium (null)(Wallet Premium)
Any of:
number(Wallet Premium)
response.​wallet_fxWallet Fx (number) or Wallet Fx (null)(Wallet Fx)
Any of:
number(Wallet Fx)
response.​wallet_txn_costWallet Txn Cost (number) or Wallet Txn Cost (null)(Wallet Txn Cost)
Any of:
number(Wallet Txn Cost)
response.​bank_referenceBank Reference (string) or Bank Reference (null)(Bank Reference)
Any of:
string(Bank Reference)
quoteobject(QuoteResponse)required
quote.​idstring(uuid4)(Id)required
quote.​countrystring(ApiCountry)required
Enum"BGD""IND""PAK""PHL""NPL"
quote.​currencystring(CurrencyCode)required
Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
quote.​amountnumber(Amount)required
quote.​amount_destinationnumber(Amount Destination)required
quote.​ratenumber(Rate)required
quote.​timestampstring(date-time)(Timestamp)required
quote.​expiresstring(date-time)(Expires)required
quote.​wallet_ratenumber(Wallet Rate)required
quote.​min_amount_destinationMin Amount Destination (number) or Min Amount Destination (null)(Min Amount Destination)
Any of:
number(Min Amount Destination)
quote.​max_amount_destinationMax Amount Destination (number) or Max Amount Destination (null)(Max Amount Destination)
Any of:
number(Max Amount Destination)
Response
application/json
{ "id": "string", "order": { "amount": 100, "bank_name": "HDFC Bank", "beneficiary_account_number": "7823732431829188", "beneficiary_account_type": "savings", "beneficiary_address": "Linking Road", "beneficiary_city": "Mumbai", "beneficiary_email": "rkgupta@domain.com", "beneficiary_mobile": "+918834907438", "beneficiary_name": "Rakesh Gupta", "country": "IND", "currency": "AED", "quote": "00000000-0000-4000-A000-000000000000", "remarks": "test", "sender_address": "Jumeirah Beach Road", "sender_birthdate": "1970-01-01", "sender_city": "Dubai", "sender_country": "ARE", "sender_identity_doc": "A987654", "sender_identity_doc_country": "ARE", "sender_identity_doc_exp": "2038-01-19", "sender_identity_doc_type": "idcard", "sender_mobile": "+9715850185684", "sender_name": "Ahmed Ahmed", "sender_relation": "other" }, "response": { "id": "00000000-0000-4000-A000-000000000000", "msg": "OK", "status": "queued", "timestamp": "2024-12-01T01:02:03.000000Z" }, "quote": { "amount": 100, "amount_destination": 8488.79, "country": "IND", "currency": "USD", "expires": "2024-12-01T01:17:03.000000Z", "id": "00000000-0000-4000-A000-000000000000", "max_amount_destination": 100000, "min_amount_destination": 100, "rate": 84.887912, "timestamp": "2024-12-01T01:02:03.000000Z", "wallet_rate": 84.887912 } }

Request

List payments

Query
countrystring(ApiCountry)required
Enum"BGD""IND""PAK""PHL""NPL"
limitinteger(Limit)[ 0 .. 1000 ]
Default 20
offsetinteger(Offset)>= 0
Default 0
sorting_orderstring(SortingOrder)
Default "desc"
Enum"asc""desc"
start_tsStart Ts (string) or Start Ts (null)(Start Ts)
Any of:
string(date-time)(Start Ts)
end_tsEnd Ts (string) or End Ts (null)(End Ts)
Any of:
string(date-time)(End Ts)
statusArray of Status (strings) or Status (null)(Status)
Any of:
<= 9 items
search_typeSearchType (string) or Search Type (null)(Search Type)
Any of:
string(SearchType)
Enum"id""external_id"
search_termSearch Term (string) or Search Term (null)(Search Term)
Any of:
string(Search Term)
Headers
authorizationstring(Authorization)required

Bearer token (JWT signed with your SECRET_KEY)

curl -i -X GET \
  'https://docs.swiftxpay.com/_mock/openapi/v2/payments?country=BGD&limit=20&offset=0&sorting_order=desc&start_ts=2019-08-24T14%3A15%3A22Z&end_ts=2019-08-24T14%3A15%3A22Z&status=queued&search_type=id&search_term=string' \
  -H 'authorization: string'

Responses

Successful Response

Bodyapplication/jsonArray [
idstring(uuid4)(Id)required
orderIndiaPayment (object) or PakistanPayment (object) or BangladeshPayment (object) or PhilippinesPayment (object)(Payment-Output)required
One of:
order.​countrystring(Country)required

ISO 3166-1 alpha-3 Country Code

Value "IND"
order.​currencystring(CurrencyCode)required

Base currency (the currency will be automatically converted to local currency using the provided quote)

Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
order.​quotestring(uuid4)(Quote)required

Valid currency quote id (UUID4) as returned by POST /v2/quote. Quote currency must match base currency.

order.​amountnumber(Amount)> 0required

The amount in the destination currency (quote.rate * quote.amount). The value must match the value calculated from the quote. It will return Error if the numbers are not the same (up to 4 decimal places)

order.​bank_namestring(Bank Name)required

Bank name where the beneficiary account is held.

order.​beneficiary_namestring(Beneficiary Name)<= 128 charactersrequired

Full name of the beneficiary (name and surname).

order.​beneficiary_citystring(Beneficiary City)required

Beneficiary address (city)

order.​beneficiary_addressstring(Beneficiary Address)<= 70 charactersrequired

Beneficiary address (street and number)

order.​beneficiary_account_numberstring(Beneficiary Account Number)required

Bank account id of the beneficiary.

order.​beneficiary_mobileBeneficiary Mobile (string) or Beneficiary Mobile (null)(Beneficiary Mobile)

Valid Indian mobile number (ITU E.164 format). Country code prefix (+91).

Any of:

Valid Indian mobile number (ITU E.164 format). Country code prefix (+91).

string(Beneficiary Mobile)
order.​beneficiary_emailBeneficiary Email (string) or Beneficiary Email (null)(Beneficiary Email)

If specified, must be a valid email address

Any of:

If specified, must be a valid email address

string(email)(Beneficiary Email)
order.​remarksRemarks (string) or Remarks (null)(Remarks)

Supplementary info and notes for tracking the transaction.

Any of:

Supplementary info and notes for tracking the transaction.

string(Remarks)
order.​sender_namestring(Sender Name)required

Full name of Sender (name and surname)

order.​sender_birthdateSender Birthdate (string) or Sender Birthdate (null)(Sender Birthdate)

Sender birthdate

Any of:

Sender birthdate

string(date)(Sender Birthdate)
order.​sender_identity_doc_expSender Identity Doc Exp (string) or Sender Identity Doc Exp (null)(Sender Identity Doc Exp)

Expiry date for the sender identity document

Any of:

Expiry date for the sender identity document

string(date)(Sender Identity Doc Exp)
order.​sender_identity_doc_countrySender Identity Doc Country (string) or Sender Identity Doc Country (null)(Sender Identity Doc Country)

Sender country (nationality) (ISO 3166-1 alpha-3 Country Code)

Any of:

Sender country (nationality) (ISO 3166-1 alpha-3 Country Code)

= 3 characters
string(Sender Identity Doc Country)= 3 characters
order.​sender_citystring(Sender City)required

Sender residency/address (city)

order.​sender_addressstring(Sender Address)<= 70 charactersrequired

Sender residency/address (street and number)

order.​sender_countrystring(Sender Country)= 3 charactersrequired

Sender residency/country (ISO 3166-1 alpha-3 Country Code)

order.​sender_mobileSender Mobile (string) or Sender Mobile (null)(Sender Mobile)

Sender mobile number (ITU E.164 format)

Any of:

Sender mobile number (ITU E.164 format)

string(Sender Mobile)
order.​sender_relationstring(Relation)required

Sender relation to beneficiary (Kin)

Enum"aunt""brother""colleague""cousin""daughter""father""friend""husband""inlaws""mother"
order.​external_idExternal Id (string) or External Id (null)(External Id)

Unique ID provided by API user

Any of:

Unique ID provided by API user

[ 1 .. 128 ] characters
string(External Id)[ 1 .. 128 ] characters
order.​timestampTimestamp (string) or Timestamp (null)(Timestamp)

Timestamp of the order (will be filled in automatically server side)

Any of:

Timestamp of the order (will be filled in automatically server side)

string(date-time)(Timestamp)
order.​beneficiary_account_typestring(BankAccountType)

Bank account type

Default "savings"
Enum"savings""current"
order.​bank_branch_nameBank Branch Name (string) or Bank Branch Name (null)(Bank Branch Name)

Branch name of the specified bank

Any of:

Branch name of the specified bank

string(Bank Branch Name)
order.​bank_branch_codestring(Bank Branch Code)required

Bank branch code (e.g. for India it is equivalent to IFSC)

order.​sender_identity_doc_typeIdentityDocumentType (string) or null

Sender identity document type

Any of:

Sender identity document type

string(IdentityDocumentType)
Enum"idcard""passport""other"
order.​sender_identity_docSender Identity Doc (string) or Sender Identity Doc (null)(Sender Identity Doc)

Sender identity document number

Any of:

Sender identity document number

string(Sender Identity Doc)
responsePaymentResponseLive (object) or nullrequired
Any of:
response.​idstring(uuid4)(Id)required
response.​timestampstring(date-time)(Timestamp)required
response.​statusstring(PaymentOrderState)required
Enum"queued""rejected""pending""processing""succeeded""failed""canceled""unknown""reversed"
response.​msgMsg (string) or Msg (null)(Msg)
Any of:
string(Msg)
response.​amountAmount (number) or Amount (null)(Amount)
Any of:
number(Amount)
response.​amount_currencyDestinationCurrency (string) or null
Any of:
string(DestinationCurrency)
Enum"BDT""INR""PKR""PHP""NPR"
response.​base_amountBase Amount (number) or Base Amount (null)(Base Amount)
Any of:
number(Base Amount)
response.​base_currencyCurrencyCode (string) or null
Any of:
string(CurrencyCode)
Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
response.​wallet_amountWallet Amount (number) or Wallet Amount (null)(Wallet Amount)
Any of:
number(Wallet Amount)
response.​wallet_currencyStableCoin (string) or null
Any of:
string(StableCoin)
Enum"USDT""USDC"
response.​wallet_premiumWallet Premium (number) or Wallet Premium (null)(Wallet Premium)
Any of:
number(Wallet Premium)
response.​wallet_fxWallet Fx (number) or Wallet Fx (null)(Wallet Fx)
Any of:
number(Wallet Fx)
response.​wallet_txn_costWallet Txn Cost (number) or Wallet Txn Cost (null)(Wallet Txn Cost)
Any of:
number(Wallet Txn Cost)
response.​bank_referenceBank Reference (string) or Bank Reference (null)(Bank Reference)
Any of:
string(Bank Reference)
quoteobject(QuoteResponse)required
quote.​idstring(uuid4)(Id)required
quote.​countrystring(ApiCountry)required
Enum"BGD""IND""PAK""PHL""NPL"
quote.​currencystring(CurrencyCode)required
Enum"BHD""EUR""KWD""MYR""OMR""QAR""SAR""SGD""TRY""AED"
quote.​amountnumber(Amount)required
quote.​amount_destinationnumber(Amount Destination)required
quote.​ratenumber(Rate)required
quote.​timestampstring(date-time)(Timestamp)required
quote.​expiresstring(date-time)(Expires)required
quote.​wallet_ratenumber(Wallet Rate)required
quote.​min_amount_destinationMin Amount Destination (number) or Min Amount Destination (null)(Min Amount Destination)
Any of:
number(Min Amount Destination)
quote.​max_amount_destinationMax Amount Destination (number) or Max Amount Destination (null)(Max Amount Destination)
Any of:
number(Max Amount Destination)
]
Response
application/json
[ { "id": "string", "order": {}, "response": {}, "quote": {} } ]
Operations
Operations
Operations