Show Menu

XTRM API (XAPI) Documentation

Version 4.X


We've developed the XTRM API (XAPI) for you to embed global payments into your system. This overview gives you an understanding of the types of calls possible with XAPI. You can explore the calls and responses you'll use while embedding XAPI into your site, mobile app, or platform. Please don't hesitate to contact us with any questions by emailing apisupport@xtrm.com

Quick Start Guide

Follow these steps to get going quickly

  1. Create your Sandbox Company account
  2. Login to your account. Goto 'Setting', then 'Integrations' then click 'Get Credentials'
From this screen you can get your API credentials plus request access from whichever server(s) you are going to be connecting the the XTRM API listeners.
Once your IP’s are approved, we will fund your sandbox company account with USD and EUR so you can start testing.

Sandbox environment (sandbox.xtrm.com)

The Sandbox environment is a complete replica of the XTRM production environment, supporting all of the same API endpoints. Applications should be tested against the Sandbox environment before being used in production.

Differences from production environment

  1. The Sandbox contains only test data and is completely separate from your production account
  2. Actual money is not sent or received as part of test transactions. Real financial data should never be used in the Sandbox.
  3. All Access API endpoints have a base URL of http://sandbox.xapi.xtrm.com/API/V4/ in sandbox and http://xapi.xtrm.com/API/V4/ in production.

Transfer behavior in the sandbox

The Sandbox environment does not actually make any payments, so a pending transfer will not be processed as it would in production. It will simply remain in the pending state indefinitely.

Sandbox setup

Once your IP’s are approved, we will add $250 USD to and 250 of your local currency to two digital wallets in your account.

Go-live Requirements

Once you are ready to go live please contact us for an application review and compliance check. This is required to ensure your flows adhere to current financial regulatory laws. We will ask you to demo yours integration to us and explain how it works. Once approved to go-live, you can create a live account and use your live API credentials and Pseudo credentials.

Authorization

All calls require the platform’s authentication credentials. Authentication credentials are sent using HTTP Bearer auth with client_key and client_secret. These will be assigned by XTRM.

Token Generation

post/oAuth/token

Header Parameters

Authorizationstring

client_id, client_secret provided by XTRM.

Content-typestring

x-www-form-urlencoded

Request Parameters

grant_type=passwordstring

client_idstring

The Consumer Key from the XTRM.

client_secretstring

The Consumer secret key from the XTRM.

XTRM verifies the user credentials, and if successful, sends a response to the application with the access token. This response contains the following values:

access_token

Access token that acts as a session ID that the application uses for making requests. This token should be protected as though it were user credentials.

token_type

HTTP Bearer auth sent

expires_in

When the signature will expire in seconds

refresh_token

Refresh token is used when refresh token call made

.issued

When the signature was created,

.expires

When the signature will expire.

Sample Request:

sandbox.xapi.xtrm.com/oAuth/token

grant_type=password&client_id=YOUR_CLIENT_ID_FROM_XTRM&client_secret=YOUR_CLIENT_SECRET_XTRM

						

Sample Response:


{
  "access_token": "rlpRJOTSQQxt+55k6tWKeysdZdlulE9alPZWefSaBig+ekSIt1QKs+VUKXKwYAdjuZXHk++P8fkPchZ07wn20TRO8cmndIRbRJBDIkF0C/fLFeGkMqNsk+y/bYVeG77Xanucg8IhiXH2m6kF95YMN4fGfTNGIdp6201hIqOUKSCTsSGxgjtcrqVIcUU=",
  "token_type": "bearer",
  "expires_in": 86399,
  "refresh_token": "a142e7ddf8cc4a73adea96aa1e175b96",
  "client_id": "1710001_API_User",
  ".issued": "Wed, 09 Aug 2017 05:53:32 GMT",
  ".expires": "Thu, 10 Aug 2017 05:53:32 GMT"
}

						

Update Beneficiary User

Update Beneficiary User Account

This is to update a user's beneficiary account or digital wallet and is where they can send and receive all payments.

post/API/v4/Register/UpdateUser

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIdstring

String length: inclusive between 1 and 25

LegalFirstNamestring

String length: inclusive between 2 and 50

LegalLastNamestring

String length: inclusive between 2 and 40

TaxIdstring

String length: inclusive between 1 and 100

DateofBirth

Daystring

Set: Value between 1 and 31

Monthstring

Set: Value between 1 and 12

Yearstring

Set: Value between 1920 and current year

AddressLine1string

String length: inclusive between 1 and 500

AddressLine2string

String length: inclusive between 1 and 500

AptSuitNumstring

String length: inclusive between 1 and 100

Citystring

String length: inclusive between 1 and 25

Countrystring

String length: inclusive between 1 and 50

CountryISO2string

String length: 2

PostalCodestring

String length: inclusive between 1 and 30

Regionstring

String length: inclusive between 1 and 50

Reponse Parameters

Useridstring

Unique Identifier of the user that was created. Returned if successful.

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Register/UpdateUser

{
    "UpdateUser": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number",
            "UserId":"string",
            "LegalFirstName": "First Name",
            "LegalLastName": "Last Name",
            "EmailAddress": "Email ID",
            "MobilePhone": "Mobile Number",
            "TaxId": "Tax id",
            "DateOfBirth": {
                "Day": "DD",
                "Month": "MM",
                "Year": "YYYY"
            },
            "Address": {
                "AddressLine1": "Address Line 1",
                "AddressLine2": "Address Line 2",
                "AptSuitNum": "Apartment or Suit Number",
                "City": "City",
                "Country": "Country",
                "CountryISO2": "Currency Code",
                "PostalCode": "Postal Code",
                "Region": "Region/State/County"
            }
        }
    }
}
						

Sample Response:


{
  "UpdateUserResponse": {
    "UpdateUserResult": {
      "UserID": "PAT1781888",
       "AccountIdentityLevel": "Pending",
      "OperationStatus": {
        "Success": true,
        "Errors": null
      }
    }
  }
}
						

Payment Methods

Remitter Payment Methods

Choose the payment method. You can pay to the XTRM 'AnyPay™' digital wallet (recommended) where the user can choose how to transfer the funds out of XTRM. Alternatively you create a pass through payment directly to a number of end points such as Bank Account, PayPal or a Prepaid Debit Card.

post/API/v4/Payment/GetPaymentMethods

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

No request parameters

Reponse Parameters

PaymentMethodsstring

Returned if successful List of payment methods found. For each payment methods, the following parameters are returned:
PaymentMethodId—Unique Payment method ID. Use XTR94502, XTR94500, XTR94501, XTR94503 to send money to Personal Beneficiary. Use XTR94504, XTR94500, XTR94501 to send money to company beneficiary.
PaymentMethodName—Payment method name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Payment/GetPaymentMethods

    {
    }
						

Sample Response:


{
    "GetPaymentMethodsResponse": {
        "PaymentMethodResult": {
            "PaymentMethods": {
                "PaymentMethodDetails": [{
						"PaymentMethodId": "XTR94502",
						"PaymentMethodName": "AnyPay Individual"
					},
					{
						"PaymentMethodId": "XTR94500",
						"PaymentMethodName": "Bank"
					},
					{
						"PaymentMethodId": "XTR94504",
						"PaymentMethodName": "AnyPay Company"
					},
					{
						"PaymentMethodId": "XTR94501",
						"PaymentMethodName": "PayPal"
					},
					{
						"PaymentMethodId": "XTR94503",
						"PaymentMethodName": "Prepaid Virtual Debit Card"
					}]
            },
            "OperationStatus": {
                "Success": true,
                "Errors": null
            }
        }
    }
}
						

Beneficiary User Payment Methods

Beneficiary User Payment Methods

Choose the payment method for a User.

post/API/v4/Payment/GetUserPaymentMethods

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

No request parameters

Reponse Parameters

PaymentMethodsstring

Returned if successful List of payment methods found. For each payment methods, the following parameters are returned:
PaymentMethodId—Unique Payment method ID
PaymentMethodName—Payment method name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Payment/GetUserPaymentMethods

    {
    }
						

Sample Response:


{
	"GetUserPaymentMethodsResponse": {
		"UserPaymentMethodResult": {
			"UserPaymentMethods": {
				"UserPaymentMethodDetails": [
					{
						"UserPaymentMethodId": "XTR94500",
						"UserPaymentMethodName": "Bank"
					},
					{
						"UserPaymentMethodId": "XTR94503",
						"UserPaymentMethodName": "Prepaid Virtual Debit Card"
					},
					{
						"UserPaymentMethodId": "XTR94501",
						"UserPaymentMethodName": "PayPal"
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Company Wallets

Get Company Wallets

You can get a list of wallet for a particular company.

post/API/v4/Wallet/GetCompanywallets

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Reponse Parameters

WalletDetailsstring

Returned if successful List of Company Wallets found. For each Wallet the following parameters are returned:
WalletID—Wallet ID
WalletName—Wallet name
WalletCurrency— Wallet currency name
WalletBalance—Wallet balance
WalletType—Standard or Accrual

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/GetCompanywallets

{
    "GetCompanywallets": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number"
        }
    }
}
						

Sample Response:


{
	"GetCompanyWalletResponse": {
		"CompanyWalletResult": {
			"CompanyWallets": {
				"CompanyWalletDetails": [
					{
						"WalletID": 3170,
						"WalletName": "Fund Account",
						"WalletCurrency": "USD",
						"WalletBalance": 55839.00,
                        "WalletType": "Standard"
					},
					{
						"WalletID": 3171,
						"WalletName": "Fund Account",
						"WalletCurrency": "GBP",
						"WalletBalance": 5000.00,
                        "WalletType": "Accrual"
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Create Beneficiary User Wallets

Create Beneficiary User Wallets

This allows you to create beneficiary user wallets and specify wallet currency. There can only be one wallet per currency. Note that you can also create user beneficary user wallets simple by using the transfer funds api. If you use transfer funds and the currency wallet doesnt exist for the beneficiary, it will create it for them.

post/API/v4/Wallet/CreateUserWallet

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25

WalletNamestring

String length: inclusive between 1 and 100

WalletCurrencystring

String length: 3

Reponse Parameters

WalletID—Wallet ID
WalletName—Wallet name
WalletCurrency— Wallet currency name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/CreateUserWallet

{
  "CreateUserWallet": {
    "request": {
        "IssuerAccountNumber":"SPN Account Number",
        "UserID": "PAT Account Number",
        "WalletName": "Wallet Name",
        "WalletCurrency": "Currency Code"
    }
  }
}
						

Sample Response:


{
	"CreateUserWalletResponse": {
		"CreateUserWalletResult": {
			"WalletID": 75429,
			"WalletName": "AnyPay",
			"WalletCurrency": "USD",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Create Company Wallets

Create Company Wallets

This allows you to create a wallet and specify currency. There can be one or more wallets.

post/API/v4/Wallet/CreateCompanyWallet

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

WalletNamestring

String length: inclusive between 1 and 100

WalletCurrencystring

String length: 3

WalletTypestring

String: Allowed values are "Standard" or "Accrual"

AllowAccessAccountNumberstring

String length: inclusive between 1 and 25

Reponse Parameters

WalletId—Wallet ID
WalletName—Wallet name
WalletCurrency— Wallet currency name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/CreateCompanyWallet

{
  "CreateCompanyWallet": {
    "request": {
    	"IssuerAccountNumber":"SPN Account Number",
    	"WalletName": "Wallet Name",
        "WalletCurrency": "Currency Code",                                
        "WalletType":"Standard/Accrual",
        "AllowAccessAccountNumber":"Allow Access Account Number"
    }
  }
}
						

Sample Response:


{
	"CreateCompanyWalletResponse": {
		"WalletID": 75420,
		"WalletName": "Wallet USD",
		"WalletCurrency": "USD",
		"OperationStatus": {
			"Success": true,
			"Errors": null
		}
	}
}
						

Update Beneficiary User Wallets

Update Beneficiary User Wallets

You can update user wallet details.

post/API/v4/Wallet/UpdateUserWallet

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25

WalletIDint

String length: inclusive between 1 and 10.

WalletNamestring

String length: inclusive between 1 and 100

Reponse Parameters

Status—Status

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/UpdateUserWallet

{
  "UpdateUserWallet": {
    "Request": {
        "IssuerAccountNumber": "SPN Account Number",
        "UserID": "PAT Account Number",
        "WalletID": "Wallet ID",
        "WalletName": "Wallet Name"
    }
  }
}
						

Sample Response:


{
	"UpdateUserWalletResponse": {
		"UpdateUserWalletResult": {
			"Status": "Updated successfully",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Update Company Wallets

Update Company Wallets

You can update company wallet details.

post/API/v4/Wallet/updatecompanywallet

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

WalletIDint

String length: inclusive between 1 and 10. Use 'GetCompanyWallets' to get WalletID.

WalletNamestring

String length: inclusive between 1 and 100

Reponse Parameters

Status—Status

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/updatecompanywallet

{
  "UpdateCompanyWallet": {
    "Request": {
        "IssuerAccountNumber": "SPN Account Number",
        "WalletID": "Wallet ID",
        "WalletName": "Wallet Name"
    }
  }
}
						

Sample Response:


{
	"UpdateCompanyWalletResponse": {
		"UpdateCompanyWalletResult": {
			"Status": "Updated successfully",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Fetch Beneficiary User Wallet Transactions

Fetch Beneficiary User Wallet Transactions

You can get a list of transactions of a User wallet. There can be one or more wallets.

post/API/v4/Wallet/GetUserWalletTransactions

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25

WalletCurrencystring

String length: 3

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Reponse Parameters

GetUserWalletTransactionsResultstring

Returned if successful List of Transactions found. For each transaction the following parameters are returned:
TransactionID—Transaction ID
CompanyName—Company name
ProgramName—Program Name
TransactionDate—Transaction Date
Description—Description
Amount—Amount
Type—Transaction Type
PaymentMethod—Payment Method

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/GetUserWalletTransactions

{
  "GetUserWalletTransactions": {
    "Request": {
       "IssuerAccountNumber": "SPN Account Number",
       "UserID": "PAT Account Number",
       "WalletCurrency": "Currency Code",
       "Pagination": {
       "RecordsToSkip": "1",
       "RecordsToTake": "10"
      }
    }
  }
}
						

Sample Response:


{
	"GetUserWalletTransactionsResponse": {
		"GetUserWalletTransactionsResult": {
			"Transactions": [
				{
					"TransactionID": 1819,
					"CompanyName": "-",
					"ProgramName": "-",
					"TransactionDate": "2017-10-16T04:10:05.397",
					"Description": "Currency Exchange",
					"Amount": 9000,
					"Type": "Debit",
					"PaymentMethod": ""
				},
				{
					"TransactionID": 1818,
					"CompanyName": "-",
					"ProgramName": "-",
					"TransactionDate": "2017-10-16T03:58:27.987",
					"Description": "Fund transfer to acct. ending XXXX4472. Ref: 4190627",
					"Amount": 1000,
					"Type": "Debit",
					"PaymentMethod": "Bank"
				}
			],
			"OperationStatus": {
				"Success": true,
				"Errors": null
			},
			"PaginationTotal": {
				"RecordsToSkip": 1,
				"RecordsToTake": 10,
				"RecordsTotal": 3
			}
		}
	}
}
						

Fetch Company Wallet Transactions

Fetch Company Wallet Transactions

This call allows you to get all the wallet transactions. There can be one or more wallets.

post/API/v4/Wallet/GetCompanyWalletTransactions

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

WalletIDint

String length: inclusive between 1 and 10. Use 'GetCompanyWallets' to get WalletID.

Reponse Parameters

GetCompanyWalletTransactionsResultstring

Returned if successful List of transactions found. For each transaction the following parameters are returned:
TransactionID—Transaction ID
TransactionDate—Transaction Date
Currency—Currency
ProgramName—Program Name
Description—Description
Type—Type
Amount—Amount
Balance—Balance
PaymentType—Payment Type

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/GetCompanyWalletTransactions

{
  "GetCompanyWalletTransactions": {
    "Request": {
      "IssuerAccountNumber": "SPN Account Number",
      "WalletID": "Wallet ID",
     "Pagination": {
        "RecordsToSkip": "1",
        "RecordsToTake": "10"
      }
    }
  }
}
						

Sample Response:


{
	"GetCompanyWalletTransactionsResponse": {
		"GetCompanyWalletTransactionsResult": {
			"Transactions": [
				{
					"TransactionID": 13528,
					"TransactionDate": "2017-11-08T05:56:55.967",
					"Currency": "INR",
					"ProgramName": "-",
					"Description": "Account Funded via Credit or Debit Card",
					"Type": "Credit",
					"Amount": 101,
					"Balance": 15221,
					"PaymentType": ""
				},
				{
					"TransactionID": 13527,
					"TransactionDate": "2017-11-08T05:53:39.937",
					"Currency": "INR",
					"ProgramName": "-",
					"Description": "Account Funded via Credit or Debit Card",
					"Type": "Credit",
					"Amount": 100,
					"Balance": 15120,
					"PaymentType": ""
				},
				{
					"TransactionID": 13444,
					"TransactionDate": "2017-10-13T01:25:52.707",
					"Currency": "INR",
					"ProgramName": "-",
					"Description": "Account Funded via Credit or Debit Card",
					"Type": "Credit",
					"Amount": 10,
					"Balance": 15020,
					"PaymentType": ""
				}
			],
			"OperationStatus": {
				"Success": true,
				"Errors": null
			},
			"PaginationTotal": {
				"RecordsToSkip": 1,
				"RecordsToTake": 10,
				"RecordsTotal": 5
			}
		}
	}
}
						

Fetch Company Wallet Transaction Details

Fetch Company Wallets Transaction Details

This call allows you to get the transaction details for the selected transaction ID.

post/API/v4/Wallet/GetCompanyWalletTransactionDetails

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

TransactionIDint

String length: inclusive between 1 and 25

Reponse Parameters

GetCompanyTransactionDetailsResultstring

Returned if successful List of fields for a transaction. For each transaction the following parameters are returned:
Name—Name
Value—Value

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/GetCompanyWalletTransactionDetails

{
  "GetCompanyTransactionDetails": {
    "Request": {
      "IssuerAccountNumber": "SPN Account Number",
      "TransactionID": "Transaction ID"
    }
  }
}
						

Sample Response:


{
	"GetCompanyTransactionDetailsResponse": {
		"GetCompanyTransactionDetailsResult": {
			"Field": [
				{
					"Name": "Method",
					"Value": "CITI"
				},
				{
					"Name": "Status",
					"Value": "Transaction Pending"
				},
				{
					"Name": "Transferred to",
					"Value": "Roger Penske (xtrm2009@gmail.com)"
				},
				{
					"Name": "Program",
					"Value": "test"
				},
				{
					"Name": "Description",
					"Value": "Test"
				},
				{
					"Name": "Comment",
					"Value": "-"
				},
				{
					"Name": "Submission File",
					"Value": "0"
				},
				{
					"Name": "Partner",
					"Value": "-"
				},
				{
					"Name": "Sale Date",
					"Value": "Oct 09, 2015"
				},
				{
					"Name": "Total Payment",
					"Value": "USD 23.00"
				},
				{
					"Name": "Budget Code",
					"Value": "-"
				}
			],
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Fund Company Wallet Using Credit Card

Fund Company Wallet Using Credit Card

This call allows companies to fund thier own company wallets using their own credit card. If you are looking to take credit card payments from consumers (individuals) or other companies to your company wallets, use the XTRM Pay api call.

post/API/v4/Wallet/FundCompanyWalletUsingCreditCard

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Amountdecimal

Decimal length: inclusive between 1 and 25

CurrencyCodestring

String length: 3

WalletIDint

int length: inclusive between 1 and 10. Use 'GetCompanyWallets' to get WalletID.

PayerInformationstring

FirstNamestring

String length: inclusive between 1 and 50

LastNamestring

String length: inclusive between 1 and 40

PayerBillingAddressstring

Address1string

String length: inclusive between 1 and 200

Citystring

String length: inclusive between 1 and 25

Statestring

String length: inclusive between 1 and 25

CountryISO2string

String length: 2

PostalCodestring

String length: inclusive between 1 and 15

CreditCardDetailsstring

ExpireMonthint

int length: 2

ExpireYearint

int length: 4

CreditCardNumberint

int length: inclusive between 13 and 16

CreditCardTypestring

String length: inclusive between 1 and 25

CVVint

int length: 4
enter a number such as, 111, 123 or 1234

Reponse Parameters

FundCompanyWalletUsingCreditCardResultstring

Returned if successful List of fields for a transaction. For each transaction the following parameters are returned:
TransactionID—Transaction ID
Amount—Amount
Fee—Fee
TotalAmount—Total Amount

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/FundCompanyWalletUsingCreditCard

{
  "FundCompanyWalletUsingCreditCardRequest": {
    "Request": {
      "PaymentDetails": {
        "IssuerAccountNumber": "SPN Issuer Account Number",
        "Amount": "Amount",
        "CurrencyCode": "Currency Code",
        "WalletID": "Wallet ID"
      },
      "PayerInformation": {
        "FirstName": "First Name",
        "LastName": "Last Name"
      },
      "PayerBillingAddress":{
       "Address1":"Address 1",
       "City":"City",
       "State":"State",
       "CountryISO2":"Country Code",
       "PostalCode":"Postal Code"
      },
      "CreditCardDetails":{
       "ExpireMonth":"Expire Month",
       "ExpireYear":"Expire Year",
       "CreditCardNumber":"Credit Card Number",
       "CreditCardType":"Visa Card/Master Card/Amex Card",
       "CVV":"CVV"
      }
       
      }
    }
  }
						

Sample Response:


{
	"FundCompanyWalletUsingCreditCardResponse": {
		"FundCompanyWalletUsingCreditCardResult": {
			"TransactionID": "1LE42338NH1339646",
			"Amount": "101.00",
			"Fee": "0.00",
			"TotalAmount": "101.00",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Transfer Funds to Beneficiary User Wallet

Transfer Funds to Beneficiary User Wallet

This allows you to make transfers from a company wallet to a beneficiary user wallet, (AnyPay™) or passthrough payments to a beneficiaries Bank account or PayPal or Prepaid Virtual Visa. When you make transfers, if the beneficiary does not have a wallet in that currency, one will be created automatically.

post/API/v4/Fund/TransferFund

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

PaymentTypestring

String length: inclusive between 1 and 50 Set to: Personal

PaymentMethodIdstring

String length: inclusive between 1 and 25. Use 'GetPaymentMethods' to get PaymentMethodID.

WalletIDint

Int length: inclusive between 1 and 25. Use 'GetCompanyWallets' to get WalletID.

ProgramIdint

Int length: inclusive between 1 and 25. Use 'GetPrograms' to get Program ID.

PaymentDescriptionstring

String length: inclusive between 1 and 300

PaymentCurrencystring

String length:3

EmailNotificationboolean

IssuerTransactionIdint

Int length: inclusive between 1 and 25. Value submitted in this field in the request will be returned unchanged in the corresponding response. Typically the value would be a unique identifier of the issuer.

PaymentAmountdecimal

String length: inclusive between 1 and 25

PartnerAccountNumberstring

String length: inclusive between 1 and 25

RecipientUserIdstring

String length: inclusive between 1 and 25

UserLinkedBankIDstring

String length: inclusive between 1 and 100
If payment method is bank otherwise its optional

UserPayPalEmailIDstring

String length: inclusive between 1 and 100
if payment method PayPal otherwise its optional

UserPrepaidVisaEmailIDstring

String length: inclusive between 1 and 100
if payment method Prepaid Virtual Visa otherwise its optional
Minimum amount is $5.00 and Maximum amount is $1000.00

DealRegIdstring

String length: inclusive between 1 and 25

Commentstring

String length: inclusive between 1 and 500

Reponse Parameters

TransactionDetailstring

Returned if successful List of Transaction detail found. For each transaction detail the following parameters are allowed: IssuerTransactionId—unique Id send along with request
PaymentTransactionId—Unique id created when payment is successful
RecipientUserId—Unique id recipient send alonf with request
PaymentDate—Date when payment is processed
PaymentStatus—Status of payment

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Fund/TransferFund

{
  "TransferFund": {
    "request": {
      "Transaction": {
        "IssuerAccountNumber": "SPN Account Number",
        "PaymentType": "Personal",
        "PaymentMethodId": "Use 'GetPaymentMethods' to get PaymentMethodID",
        "ProgramId": "Use 'GetPrograms' to get Program ID",
        "WalletId": "Use 'GetCompanyWallets' to get WalletID",
        "PaymentDescription": "Payment Description",
        "PaymentCurrency":"Currency Code",
        "EmailNotification" :"true/false",
        "TransactionDetails": [
          {
            "IssuerTransactionId": "Unique ID",
            "PaymentAmount": "Payment Amount",
            "PartnerAccountNumber": "SPN Account Number",
            "RecipientUserId": "PAT Account Number",
            "UserLinkedBankID": "Use 'GetLinkedBankAccounts' to get UserLinkedBankID",
            "UserPayPalEmailID": "User PayPal Email ID",
            "UserPrepaidVisaEmailID": "User Prepaid Virtual Visa Email ID",
            "DealRegId": "Deal_Reg_ID",
            "Comment": "Comment"
          }
        ]
      }
    }
  }
}
						

Sample Response:


{
	"TransferFundResponse": {
		"TransferFundResult": {
			"TransactionDetail": [
				{
					"IssuerTransactionId": "222",
					"PaymentTransactionId": "59697",
					"RecipientUserId": "PAT1886461",
					"PaymentDate": "2018-11-02T01:41:37.773",
					"PaymentStatus": "Completed",
					"Amount": "100.00",
					"Fee": "88.76",
					"TotalAmount": "188.76",
					"Currency": "INR"
				}
			],
			"OperationStatus": {
				"Success": true,
				"Errors": []
			}
		}
	}
}
						

Transfer Funds to Beneficiary Company

Transfer Funds to Beneficiary Company

This allows you to make transfers from a company wallet to a beneficiary company wallet, (AnyPay™) or passthrough payments to a beneficiaries Bank account or PayPal. When you make transfers, if the beneficiary does not have a wallet in that currency, one will be created automatically.

post/API/v4/Fund/TransferFundtoCompany

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

PaymentTypestring

String length: inclusive between 1 and 50 Set to: Company

PaymentMethodIdstring

String length: inclusive between 1 and 25. Use 'GetPaymentMethods' to get PaymentMethodID.

WalletIDint

Int length: inclusive between 1 and 25. Use 'GetCompanyWallets' to get WalletID.

ProgramIdstring

String length: inclusive between 1 and 25. Use 'GetPrograms' to get Program ID.

Descriptionstring

String length: inclusive between 1 and 300

Currencystring

String length:3

EmailNotificationboolean

IssuerTransactionIdint

Int length: inclusive between 1 and 25. Value submitted in this field in the request will be returned unchanged in the corresponding response. Typically the value would be a unique identifier of the issuer.

Amountdecimal

String length: inclusive between 1 and 25

BeneficiaryAccountNumberstring

String length: inclusive between 1 and 25

BeneficiaryWalletIDstring

String length: inclusive between 1 and 25

BeneficiaryLinkedBankIDstring

String length: inclusive between 1 and 100
If payment method is bank otherwise its optional

BeneficiaryPayPalEmailIDstring

String length: inclusive between 1 and 100
if payment method PayPal otherwise its optional

Response Parameters

TransactionDetailstring

Returned if successful List of Transaction detail found. For each transaction detail the following parameters are allowed: IssuerTransactionId—unique Id send along with request
PaymentTransactionId—Unique id created when payment is successful
BeneficiaryAccountNumber—Unique id recipient send along with request
PaymentDate—Date when payment is processed
PaymentStatus—Status of payment

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Fund/TransferFundtoCompany

{  
  "TransferFundtoCompany":{  
    "request":{  
      "IssuerAccountNumber":"SPN Account Number",
      "PaymentType":"Company",
      "PaymentMethodId":"Use 'GetPaymentMethods' to get PaymentMethodID",
      "ProgramId":"Use 'GetPrograms' to get Program ID",
      "WalletId":"Use 'GetCompanyWallets' to get WalletID",
      "Description":"Payment Description",
      "Currency":"Currency Code",
      "Amount":"Payment Amount",
      "EmailNotification":"true/false",
      "IssuerTransactionId":"Unique ID",
      "BeneficiaryAccountNumber":"SPN Account Number",
      "BeneficiaryWalletID":"Use 'GetBeneficiaryWallets' to get Beneficiary WalletID",
      "BeneficiaryLinkedBankID":"Use 'GetLinkedBankAccounts' to get UserLinkedBankID",
      "BeneficiaryPayPalEmailID":"User PayPal Email ID"
    }
  }
}

						

Sample Response:


{  
  "TransferFundtoCompanyResponse":{  
    "TransferFundtoCompanyResult":{  
      "IssuerTransactionId":"123456789",
      "PaymentTransactionId":"123456789",
      "BeneficiaryAccountNumber":"SPN123456789",
      "PaymentDate":"2017-11-27T04:49:36.677",
      "PaymentStatus":"Completed",
      "OperationStatus":{  
        "Success":true,
        "Errors":null
      }
    }
  }
}
						

Linked Bank Accounts

Linked Bank Accounts

This allows you to get a list of the beneficiary linked bank accounts. This is used when making direct pass through payments to a beneficiary user's bank account.

post/API/v4/Bank/GetLinkedBankAccounts

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

RecipientUserIdstring

String length: inclusive between 1 and 25

Response Parameters

BeneficiaryDetailsstring

Returned if successful List of Beneficiary details found. For each Beneficiary details the following parameters are allowed: BeneficiaryId—unique Id of beneficiary
BeneficiaryName—Name of beneficiary
Currency—Bank account currency name
Country—Bank account country name
TransferFee—Bank transfer fee
PaymentMethods—Type of Payment EFT/WIRE
AccountNumber—Bank account number
BankName—Bank name
BranchName—Bank branch name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Bank/GetLinkedBankAccounts

{
    "GetLinkedBankAccounts": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number",
            "RecipientUserId": "PAT Account Number"
        }
    }
}
						

Sample Response:


{
	"GetLinkedBankAccountsResponse": {
		"GetLinkedBankAccountsResult": {
			"Beneficiary": {
				"BeneficiaryDetails": [
					{
						"BeneficiaryId": "288c587ee76a47239876454dc6ed89c1",
						"BeneficiaryName": "James Smith",
						"Currency": "INR",
						"Country": "India",
						"TransferFee": 4,
						"PaymentMethods": {
							"Payment": "WIRE"
						},
						"BankDetails": {
							"BeneficiaryBankInformation": {
								"AccountNumber": "912010017174472",
								"BankName": "Axis Bank",
								"BranchName": "Madurai"
							}
						}
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}

						

Company Programs

Programs

This allows you to get a list of your company payment programs or projects and is used along with the Transfer Funds API request.

post/API/v4/Programs/GetPrograms

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Response Parameters

ProgramDetailsstring

List of Program details found. For each Program details the following parameters are allowed: ProgramId—unique Id of beneficiary
ProgramName—Name of Program
ProgramCategory—Program Category
ProgramType—Program Type
IsClaim—Is claimable True/False

PaginationTotalstring

Returned if successful Returned pagination result including total number of records available. Allowed parameters are: RecordsToSkip—Number of records skipped
RecordsToTake—Number of records returned
RecordsTotal—Total number of records in the underlying data set

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Programs/GetPrograms

{
    "GetPrograms": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number",
            "Pagination": {
                "RecordsToSkip": 1,
                "RecordsToTake": 10
            }
        }
    }
}

						

Sample Response:


{
	"GetProgramsResponse": {
		"ProgramsResult": {
			"Programs": {
				"ProgramDetails": [
					{
						"ProgramId": 2316,
						"ProgramName": "Production Company",
						"ProgramCategory": "Performance",
						"ProgramType": "Bonus",
						"IsClaim": "N"
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": [
					""
				]
			},
			"PaginationTotal": {
				"RecordsToSkip": 1,
				"RecordsToTake": 10,
				"RecordsTotal": 1
			}
		}
	}
}
						

Company Program Category

Company Program Category

This allows you to get a list of program categories and is used along with the program type and create new program.

post/API/v4/Programs/ProgramCategory

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Response Parameters

ProgramCategoryDetailsstring

List of Program categories found. For each Program categories the following parameters are allowed: CategoryID—CategoryID
CategoryName—Category Name

PaginationTotalstring

Returned if successful Returned pagination result including total number of records available. Allowed parameters are: RecordsToSkip—Number of records skipped
RecordsToTake—Number of records returned
RecordsTotal—Total number of records in the underlying data set

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Programs/ProgramCategory

{
    "GetProgramCategory": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number",
            "Pagination": {
                "RecordsToSkip": 1,
                "RecordsToTake": 10
            }
        }
    }
}

						

Sample Response:


{
	"GetProgramCategoryResponse": {
		"ProgramCategoryResult": {
			"ProgramCategory": {
				"ProgramCategoryDetails": [
					{
						"CategoryID": 1,
						"CategoryName": "Promotional"
					},
					{
						"CategoryID": 2,
						"CategoryName": "Performance"
					},
					{
						"CategoryID": 7,
						"CategoryName": "Project"
					},
					{
						"CategoryID": 8,
						"CategoryName": "Other"
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": [
					""
				]
			},
			"PaginationTotal": {
				"RecordsToSkip": 1,
				"RecordsToTake": 10,
				"RecordsTotal": 4
			}
		}
	}
}
						

Company Program Type

Company Program Type

This allows you to get a list of your company payment program types and is used along with the Transfer Funds API request.

post/API/v4/Programs/ProgramType

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

CategoryIDint

String length: inclusive between 1 and 10

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Response Parameters

ProgramTypeDetailstring

List of Program types found. For each Program types the following parameters are allowed: SubCategoryID—Sub Category ID
SubCategoryName—Sub Category Name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Programs/ProgramType

{
    "GetProgramType": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number",
            "CategoryID": "Use 'ProgramCategory' to get Program Category ID",
            "Pagination": {
                "RecordsToSkip": 1,
                "RecordsToTake": 10
            }
        }
    }
}

						

Sample Response:


{
	"GetProgramTypeResponse": {
		"ProgramTypeResult": {
			"ProgramType": {
				"ProgramTypeDetail": [
					{
						"SubCategoryID": 4,
						"SubCategoryName": "SPIF"
					},
					{
						"SubCategoryID": 5,
						"SubCategoryName": "Bonus"
					},
					{
						"SubCategoryID": 7,
						"SubCategoryName": "Rebates"
					},
					{
						"SubCategoryID": 8,
						"SubCategoryName": "MDF"
					},
					{
						"SubCategoryID": 9,
						"SubCategoryName": "Other"
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": [
					""
				]
			},
			"PaginationTotal": {
				"RecordsToSkip": 1,
				"RecordsToTake": 10,
				"RecordsTotal": 5
			}
		}
	}
}
						

Create Company Program

Create Company Program

This allows you to get a list of your company payment programs or projects and can be used along with the Transfer Funds API request.

post/API/v4/Programs/CreateProgram

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Descriptionstring

String length: inclusive between 0 and 100

TransactionCategoryIDint

Int length: inclusive between 1 and 5. Use 'GetProgramCategory' to get TransactionCategoryID.

TransactionSubCategoryIDint

Int length: inclusive between 1 and 5. Use 'GetProgramType' to get TransactionSubCategoryID.

Amountdecimal

Decimal length: inclusive between 1 and 25

CurrencyCodestring

String length: inclusive between 1 and 25

IsClaimboolean

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Response Parameters

ProgramID—Program ID

PaginationTotalstring

Returned if successful Returned pagination result including total number of records available. Allowed parameters are: RecordsToSkip—Number of records skipped
RecordsToTake—Number of records returned
RecordsTotal—Total number of records in the underlying data set

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Programs/CreateProgram

{
    "CreateProgram": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number",                                
            "Description":"Program Name",
            "TransactionCategoryID":"Use 'ProgramCategory' to get Program Category ID",
            "TransactionSubCategoryID":"Use 'ProgramType' to get Program SubCategory ID",
            "Amount":"Amount",
            "CurrencyCode":"Currency Code",
            "IsClaim":boolean
        }
        }
    }
}

						

Sample Response:


{
	"CreateProgramsResponse": {
		"CreateProgramsResult": {
			"ProgramID": 2316,
			"OperationStatus": {
				"Success": true
				"Errors": []
			}
		}
	}
}
						

Update Company Program

Update Company Program

This allows you to update your company payment programs or projects.

post/API/v4/Programs/UpdateProgram

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

ProgramIDint

Int length: inclusive between 1 and 25

Descriptionstring

String length: inclusive between 1 and 100

TransactionCategoryIDint

Int length: inclusive between 1 and 5

TransactionSubCategoryIDstring

Int length: inclusive between 1 and 5

Amountdecimal

Decimal length: inclusive between 1 and 25

CurrencyCodestring

String length: inclusive between 1 and 25

IsClaimstring

String length: inclusive between 1 and 25

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Response Parameters

ProgramDetailsstring

List of Program details found. For each Program details the following parameters are allowed: ProgramID—Program ID

PaginationTotalstring

Returned if successful Returned pagination result including total number of records available. Allowed parameters are: RecordsToSkip—Number of records skipped
RecordsToTake—Number of records returned
RecordsTotal—Total number of records in the underlying data set

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Programs/UpdateProgram

{
    "UpdateProgram": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number",
            "ProgramID":"Program ID",
            "Description":"Program Name",
            "TransactionCategoryID":"Use 'ProgramCategory' to get Program Category ID",
            "TransactionSubCategoryID":"Use 'ProgramType' to get Program Sub Category ID",
            "IsClaim":boolean
            "ClaimAmount":"Claim Amount",
            "CurrencyCode":"Currency Code",
        }
    }
}

						

Sample Response:


{
	"UpdateProgramsResponse": {
		"UpdateProgramsResult": {
			"ProgramID": "2316",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Authorize Remitter

Request OTP (one-time password) to Authorize Transaction

This is used to generate an authentication one time password to allow the vendor (remitter) to be authorized by the user (beneficiary) to transfer funds, access wallets, access wallet transcation and withdraw.

post/API/v4/OTP/GetOTPAuthorizedVendor

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

RecipientUserIdstring

Response Parameters

Messagestring

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/OTP/GetOTPAuthorizedVendor

{
  "GetOTPAuthorizedVendor": {
    "request": { 
    	"IssuerAccountNumber": "SPN Account Number",
    	"RecipientUserId":"PAT Account Number"
    }
  }
}
						

Sample Response:


{
	"GetOTPAuthorizedVendorResponse": {
		"GetOTPAuthorizedVendorResult": {
			"Message": "OTP Send",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Validate OTP

Send OTP (one-time password) to Authenticate Beneficiary

This is used to validate the one time password to allow the user to transfer funds and is used in conjunction with 'Authorize Vendor'

post/API/v4/OTP/ValidateOTPAuthorizeVendor

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

RecipientUserIdstring

String length: inclusive between 1 and 25

OneTimePasswordint

Response Parameters

Messagestring

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/OTP/ValidateOTPAuthorizeVendor

{
  "ValidateOTPAuthorizeVendor": {
    "request": { 
    	"IssuerAccountNumber": "SPN Account Number",
    	"RecipientUserId":"PAT Account Number",
    	"OneTimePassword":"One Time Password"
    	
    }
  }
}
						

Sample Response:


{
	"ValidateOTPAuthorizeVendorResponse": {
		"ValidateOTPAuthorizeVendorResult": {
			"Message": "Authorized",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Beneficiaries

Beneficiaries

This allows you to get a list of your company's beneficiaries or recipient's employer.

post/API/v4/Beneficiary/GetBeneficiaries

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Response Parameters

BeneficiaryDetailstring

Returned if successful List of Partner details found. For each Partner details the following parameters are allowed: BeneficiaryCompanyName—Beneficiary Company Name
BeneficiaryContact—Beneficiary Contact
PartnerAccountManager—Partner Account Manager
BeneficiaryID—Beneficiary ID
BeneficiarySalesforceId—Beneficiary Salesforce ID
OtherPartnerID—Other Partner ID
Region—Region

PaginationTotalstring

Returned if successful Returned pagination result including total number of records available. Allowed parameters are: RecordsToSkip—Number of records skipped
RecordsToTake—Number of records returned
RecordsTotal—Total number of records in the underlying data set

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Beneficiary/GetBeneficiaries

{
  "GetBeneficiaries": {
    "request": {
      "IssuerAccountNumber": "SPN Account Number",
      "Pagination": {
        "RecordsToSkip": "1",
        "RecordsToTake": "10"
      }
    }
  }
}
						

Sample Response:


{
	"GetBeneficiariesResponse": {
		"BeneficiaryResult": {
			"Beneficiaries": {
				"BeneficiaryDetail": [
					{
						"BeneficiaryCompanyName": "Nextbigxxx",
						"BeneficiaryContact": "Next Bigs",
						"PartnerAccountManager": "",
						"BeneficiaryID": "SPN1781889",
						"BeneficiarySalesforceId": "",
						"OtherPartnerID": "",
						"Region": ""
					},
					{
						"BeneficiaryCompanyName": "Console",
						"BeneficiaryContact": "Console Console",
						"PartnerAccountManager": "Mark Console",
						"BeneficiaryID": "SPN1781880",
						"BeneficiarySalesforceId": "001G000001mKtQCIA0",
						"OtherPartnerID": "Silver",
						"Region": "India"
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": [
					""
				]
			},
			"PaginationTotal": {
				"RecordsToSkip": 1,
				"RecordsToTake": 10,
				"RecordsTotal": 12
			}
		}
	}
}
						

Create Beneficiary Company

Create Beneficiary Company

This allows you to create your company beneficiaries, i.e. companies you want to pay. These will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

post/API/v4/Beneficiary/CreateBeneficiary

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

BeneficiaryCompanyNamestring

String length: inclusive between 1 and 50. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

WebAddressstring

String length: inclusive between 1 and 50. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

BeneficiaryCompanyAdminDetails

AdminEmailstring

String length: inclusive between 1 and 50. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers. Please do not use generic email domains like @gmail.com or @hotmail.com or email groups like support@acme.com or development@acme.com. Please use the personal email of the main administrator or contact at the company to avoid compliance issues and the company account being closed.

EmailNotificationboolean

AdminFirstNamestring

String length: inclusive between 2 and 50. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

AdminLastNamestring

String length: inclusive between 2 and 40. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

AdminMobileNumberstring

String length: inclusive between 1 and 25

Citystring

String length: inclusive between 1 and 50

Countrystring

String length: inclusive between 1 and 50. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

Regionstring

String length: inclusive between 1 and 50

PostalCodestring

String length: inclusive between 1 and 50

SalesProgramDetails

PartnerAccountManagerstring

String length: inclusive between 1 and 100

SalesforcePartnerIDstring

String length: inclusive between 1 and 50

OtherPartnerIDstring

String length: inclusive between 1 and 50

OtherPartnerIDstring

String length: inclusive between 1 and 50

PartnerLevelstring

String length: inclusive between 1 and 50

Response Parameters

CreateBeneficiaryResponsestring

Returned if successful BeneficiaryID—Beneficiary ID
ClientID—Client ID
SecretKey—Secret Key

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Beneficiary/CreateBeneficiary

{
  "CreateBeneficiary": {
    "Request": {
      "IssuerAccountNumber": "SPN Account Number",
      "BeneficiaryCompanyName": "Company Name",
      "WebAddress": "Website URL",
      "BeneficiaryCompanyAdminDetails": {
      	"AdminEmail":"Email ID",
        "EmailNotification" :"true/false",
      	"AdminFirstName":"First Name",
        "AdminLastName":"Last Name",
        "AdminMobileNumber":"Mobile Number",
        "City":"City",
        "Country":"Country",
        "Region":"Region/State/County",
         "PostalCode":"Postal Code"
      },
      "SalesProgramDetails": {
        "PartnerAccountManager": "Partner Account Manager",
        "SalesforcePartnerID": "Salesforce Partner ID",
        "OtherPartnerID": "Other Partner ID",
        "Region": "Region",
        "PartnerLevel": "Partner Level"
      }
    }
  }
}
						

Sample Response:


{
	"CreateBeneficiaryResponse": {
		"CreateBeneficiaryResult": {
			"BeneficiaryID": "SPN1781903",
            "AccountIdentityLevel": "Pending",
			"ClientID": "1710033_API_User",
			"SecretKey": "yyWTjFS6MPXBx5DYxyKN9KgROopx0UAL810K/9R3EI=",
			"OperationStatus": {
				"Success": true,
				"Errors": []
			}
		}
	}
}
						

Update Beneficiary Company

Update Beneficiary Company

This allows you to update the details of your company beneficiaries, i.e. companies you want to pay.. These will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

post/API/v4/Beneficiary/GetBeneficiaries

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

BeneficiaryIDstring

String length: inclusive between 1 and 50

BeneficiaryCompanyNamestring

String length: inclusive between 1 and 100

WebAddressstring

String length: inclusive between 1 and 50

BeneficiaryCompanyAdminDetails

AdminEmailstring

String length: inclusive between 1 and 50

AdminFirstNamestring

String length: inclusive between 2 and 50

AdminLastNamestring

String length: inclusive between 2 and 40

AdminMobileNumberstring

String length: inclusive between 1 and 50

Citystring

String length: inclusive between 1 and 50

Countrystring

String length: inclusive between 1 and 50

Regionstring

String length: inclusive between 1 and 50

PostalCodestring

String length: inclusive between 1 and 50

SalesProgramDetails

PartnerAccountManagerstring

String length: inclusive between 1 and 50

SalesforcePartnerIDstring

String length: inclusive between 1 and 50

OtherPartnerIDstring

String length: inclusive between 1 and 50

OtherPartnerIDstring

String length: inclusive between 1 and 50

PartnerLevelstring

String length: inclusive between 1 and 50

Response Parameters

BeneficiaryID—Beneficiary ID

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Beneficiary/GetBeneficiaries

{
  "UpdateBeneficiary": {
    "Request": {
      "IssuerAccountNumber": "SPN Account Number",
      "BeneficiaryID":"Beneficiary SPN Account Number",
      "BeneficiaryCompanyName": "Company Name",
      "WebAddress": "Website URL",
      "BeneficiaryCompanyAdminDetails": {
      	"AdminFirstName":"First Name",
        "AdminLastName":"Last Name",
        "City":"City",
        "Country":"Country",
        "Region":"Region/State/County",
        "PostalCode":"Postal Code"
      },
      "SalesProgramDetails": {
        "PartnerAccountManager": "Partner Account Manager",
        "SalesforcePartnerID": "Salesforce Partner ID",
        "OtherPartnerID": "Other Partner ID",
        "Region": "Region",
        "PartnerLevel": "Partner Level"
      }
    }
  }
}
						

Sample Response:


{
	"UpdateBeneficiaryResponse": {
		"UpdateBeneficiaryResult": {
			"BeneficiaryID": "SPN1781903",
            "AccountIdentityLevel": "Pending",
			"OperationStatus": {
				"Success": true,
				"Errors": []
			}
		}
	}
}
						

Beneficiary Wallets

Get Beneficiary Wallets

You can get a list of wallet transactions for a particular wallet.

post/API/v4/Wallet/GetBeneficiaryWallets

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

BeneficiaryAccountNumberstring

String length: inclusive between 1 and 25

Response Parameters

Walletsstring

Returned if successful List of Beneficiary Wallets found. For each Wallet the following parameters are returned:
ID—Wallet ID
Name—Wallet name
Currency— Wallet currency name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/GetBeneficiaryWallets

{  
  "GetBeneficiaryWallets":{  
    "request":{  
      "IssuerAccountNumber":"SPN Account Number",
      "BeneficiaryAccountNumber":"SPN Account Number"
    }
  }
}
						

Sample Response:


{  
  "GetBeneficiaryWalletsResponse":{  
    "GetBeneficiaryWalletsResult":{  
      "Wallets":[  
        {  
          "Name":"Fund Account",
          "ID":3172,
          "Currency":"INR"
        },
        {  
          "Name":"Fund Account",
          "ID":3173,
          "Currency":"USD"
        },
        {  
          "Name":"Fund Wallet",
          "ID":3174,
          "Currency":"AED"
        }
      ],
      "OperationStatus":{  
        "Success":true,
        "Errors":null
      }
    }
  }
}
						

Check Beneficiary Exist

Check Beneficiary Exist

This allows you to get a list of beneficiaries.

post/API/v4/Beneficiary/CheckBeneficiaryExist

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

CompanyNamestring

String length: inclusive between 1 and 100

Response Parameters

Beneficiarystring

Returned if successful List of Beneficiaries found. For each Beneficiary the following parameters are allowed: Name—Beneficiary Company Name
AccountNumber—Beneficiary Account Number

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Beneficiary/CheckBeneficiaryExist

{  
  "CheckBeneficiaryExist":{  
    "request":{  
      "IssuerAccountNumber":"SPN Account Number",
      "CompanyName":"Company Name"
    }
  }
}
						

Sample Response:


{  
  "CheckBeneficiaryExistResponse":{  
    "CheckBeneficiaryExistResult":{  
      "Beneficiary":[         
        {  
          "Name":"Test Xtrm",
          "AccountNumber":"SPN1781861",
           "Email": "xtrm2009@gmail.com",
			"MasteradminFirstname": "",
			"MasteradminLastname": ""
        },
        {  
          "Name":"Test Xtrm 1",
          "AccountNumber":"SPN1679234",
         "Email": "xtrm2009@gmail.com",
		"MasteradminFirstname": "",
		"MasteradminLastname": ""
        },
       
        {  
          "Name":"Xtrm Inc.",
          "AccountNumber":"SPN0500201",
          "Email": "xtrm2009@gmail.com",
           "MasteradminFirstname": "",
            "MasteradminLastname": ""
        }
      ],
      "OperationStatus":{  
        "Success":true,
        "Errors":null
      }
    }
  }
}
						

Personal Beneficiaries

Personal Beneficiaries

This allows you to get a list of your Personal's beneficiaries.

post/API/V4/Beneficiary/GetPersonalBeneficiaries

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Response Parameters

Beneficiarystring

Returned if successful List of User found. For each Partner details the following parameters are allowed: AccountNo—Beneficiary Account Number
Name—Beneficiary Name
State—Beneficiary State
Country—Beneficiary Country
Employer—Employer of Beneficiary
Email—Beneficiary Email

PaginationTotalstring

Returned if successful Returned pagination result including total number of records available. Allowed parameters are: RecordsToSkip—Number of records skipped
RecordsToTake—Number of records returned
RecordsTotal—Total number of records in the underlying data set

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/v4/API/V4/Beneficiary/GetPersonalBeneficiaries

{
  "GetPersonalBeneficiaries": {
    "request": {
      "IssuerAccountNumber": "SPN Account Number",
      "Pagination": {
        "RecordsToSkip": "1",
        "RecordsToTake": "10"
      }
    }
  }
}
						

Sample Response:


{  
  "GetPersonalBeneficiariesResponse":{  
    "GetPersonalBeneficiaryResult":{  
      "Beneficiary":[  
        {  
          "AccountNo":"PAT1781764",
          "Name":"Oojam Mark",
          "State":"California",
          "Country":"United States of America",
          "Employer":"Citrix Systems",
          "Email":"Oojam@Citrix.com"
        },
        {  
          "AccountNo":"PAT1781763",
          "Name":"Omanand Clark",
          "State":"California",
          "Country":"United States of America",
          "Employer":"Citrix Systems",
          "Email":"Omanand@Citrix.com"
        }
      ],
      "OperationStatus":{  
        "Success":true,
        "Errors":null
      },
      "PaginationTotal":{  
        "RecordsToSkip":1,
        "RecordsToTake":10,
        "RecordsTotal":5
      }
    }
  }
}
						

Check User Exist

Check User Exist

This allows you to get a list of personal beneficiaries.

post/API/V4/Beneficiary/CheckUserExist

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Email Addressstring

String length: inclusive between 1 and 100

Response Parameters

Beneficiarystring

Returned if successful List of Personal Beneficiaries found. For each Beneficiary the following parameters are allowed: AccountNo—Beneficiary Account Number
Name—Beneficiary Name
State—Beneficiary State
Country—Beneficiary Country
Employer—Employer of Beneficiary

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/v4/API/V4/Beneficiary/CheckUserExist

{  
  "CheckUserExist":{  
    "request":{  
      "IssuerAccountNumber":"SPN Account Number",
     "Email":"Email Address"
    }
  }
}
						

Sample Response:


{  
  "CheckUserExistResponse":{  
    "CheckUserExistResult":{  
      "Beneficiary":[  
        {  
          "AccountNo":"PAT1273777",
          "Name":"Jared Mark",
          "State":"California",
          "Country":"United States of America",
          "Employer":"Citrix Systems"
        },
        {  
          "AccountNo":"PAT0613589",
          "Name":"Michael Smith",
          "State":"California",
          "Country":"United States of America",
          "Employer":""
        }
      ],
      "OperationStatus":{  
        "Success":true,
        "Errors":null
      }
    }
  }
}
						

Beneficiary User Wallets

Get Beneficiary User Wallets

You can get a list of wallet for a particular user.

post/API/V4/Wallet/GetUserWallets

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

User IDstring

String length: inclusive between 1 and 25

Reponse Parameters

Walletsstring

Returned if successful List of User Wallets found. For each Wallet the following parameters are returned:
WalletID—Wallet ID
WalletName—Wallet name
WalletCurrency— Wallet currency name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/GetUserWallets

{
    "GetUserWallets": {
        "request": {
            "IssuerAccountNumber": "SPN Account Number",
             "UserID":"PAT Account Number"
        }
    }
}
						

Sample Response:


{
	"GetUserWalletsResponse": {
		"GetUserWalletsResult": {
			"Wallets":  [
					{
						"WalletID": 3170,
						"WalletName": "Fund Account",
						"WalletCurrency": "USD"
					},
					{
						"WalletID": 3171,
						"WalletName": "Fund Account",
						"WalletCurrency": "GBP"
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
}

						

Link Bank Accounts

Link Bank Accounts

Contact support@xtrm.com to link bank account.

Search Bank

Search Bank

Retrieves a list of banks that match the search criteria.

post/API/v4/Bank/SearchBank

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

BankNamestring

String length: inclusive between 1 and 100

Citystring

String length: inclusive between 1 and 20

CountryISO2string

String length: 2

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Response Parameters

BanksList

Returned if successful A structure that contains details for all the banks that match the search criteria. BankDetails—Details about the bank
Address—Address of the bank
InstitutionName—Name of the financial institution.
SWIFTBIC—Bank's Business Identifier Code (BIC)
Branchname—Name of the branch.
Fax—Bank fax number
NationalBankCode—Unique identifier assigned by the bank's country
NationalBankCodeType—Specifies the type of bank code used For example:
ABA—American Banking Association code; used by the USA.
BLZ—Bankleitzahl; used by Germany and Austria.
BSB—Australia Bank State Branch; used by Australia
TRNO—Transit Number; used by Canada.
UKSORT—United Kingdom Sort Code; used in the UK.
OfficeType—Allowed values are Branch and Head Office
Phone—Bank phone number.
UniqueId—Unique identifier for the bank.

PaginationTotalstring

Returned if successful Returned pagination result including total number of records available. Allowed parameters are: RecordsToSkip—Number of records skipped
RecordsToTake—Number of records returned
RecordsTotal—Total number of records in the underlying data set

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Bank/SearchBank

{  
  "SearchBanks":{  
    "request":{  
      "IssuerAccountNumber":"SPN Account Number",
      "BankName":"Wells Fargo Bank",
      "CountryISO2":"US",
      "City":"COVINA",
      "Pagination":{  
        "RecordsToSkip":1,
        "RecordsToTake":10
      }
    }
  }
}
						

Sample Response:


{  
  "SearchBanksResponse":{  
    "SearchBanksResponseResult":{  
      "Banks":[  
        {  
          "BankDetails":{  
            "Address":{  
              "AddressLine3":null,
              "AddressLine4":null,
              "AddressLine1":"925 W Badillo St",
              "AddressLine2":"",
              "City":"COVINA",
              "CountryISO2":"US",
              "IsFreeForm":false,
              "PostalCode":"91722",
              "Region":"California"
            },
            "InstitutionName":"Wells Fargo Bank, National Association",
            "SWIFTBIC":"WFBIUS6SXXX"
          },
          "BranchName":"Covina Main",
          "Fax":"",
          "NationalBankCode":"122000247",
          "NationalBankCodeType":"ABA",
          "OfficeType":"Branch",
          "Phone":"(626)967 2411",
          "UniqueId":"100000000683138"
        },
        {  
          "BankDetails":{  
            "Address":{  
              "AddressLine3":null,
              "AddressLine4":null,
              "AddressLine1":"27250 Alicia Pkwy",
              "AddressLine2":"",
              "City":"LAGUNA NIGUEL",
              "CountryISO2":"US",
              "IsFreeForm":false,
              "PostalCode":"92677",
              "Region":"California"
            },
            "InstitutionName":"Wells Fargo Bank, National Association",
            "SWIFTBIC":"WFBIUS6SXXX"
          },
          "BranchName":"Aliso Viejo",
          "Fax":"",
          "NationalBankCode":"122000247",
          "NationalBankCodeType":"ABA",
          "OfficeType":"Branch",
          "Phone":"(949)831 0128",
          "UniqueId":"100000000683763"
        },
        {  
          "BankDetails":{  
            "Address":{  
              "AddressLine3":null,
              "AddressLine4":null,
              "AddressLine1":"100 W Lincolnway",
              "AddressLine2":"",
              "City":"MORRISON",
              "CountryISO2":"US",
              "IsFreeForm":false,
              "PostalCode":"61270",
              "Region":"Illinois"
            },
            "InstitutionName":"Wells Fargo Bank, National Association",
            "SWIFTBIC":"WFBIUS6SXXX"
          },
          "BranchName":"Morrison",
          "Fax":"",
          "NationalBankCode":"071101307",
          "NationalBankCodeType":"ABA",
          "OfficeType":"Branch",
          "Phone":"(815)772 7611",
          "UniqueId":"100000000684180"
        }
      ],
      "OperationStatus":{  
        "Errors":[  

        ],
        "Success":true
      },
      "PaginationTotal":{  
        "RecordsTotal":107,
        "RecordsToSkip":1,
        "RecordsToTake":3
      }
    }
  }
}
						

Bank Withdraw Types

Bank Withdraw Types

Retrieves a list of banks withdraw types.

post/API/v4/Bank/GetBankWithdrawTypes

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

CountryISO2string

String length: 2

Response Parameters

WithdrawTypesList

Returned if successful A structure that contains details for withdraw type that match the search criteria. WithdrawTypes—Details about the Types
ACH
WIRE

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Bank/GetBankWithdrawTypes

{
	"GetBankWithdrawTypes":{
		"request":{
			"IssuerAccountNumber":"SPN1781760",
			"CountryISO2":"US"
		}
	}
}
						

Sample Response:


{
    "GetBankWithdrawTypesResponse": {
        "GetBankWithdrawTypesResult": {
            "WithdrawTypes": [
                "WIRE",
                "ACH"
            ],
            "OperationStatus": {
                "Errors": null,
                "Success": true
            }
        }
    }
}
						

Bank Dynamic Validation Rules

Bank Dynamic Validation Rules

Retrieves full beneficiary template information, based on the specified criteria.

post/API/v4/Bank/GetBankDynamicValidationRules

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

CountryISO2string

String length: 2

Currencystring

String length: 3

BankWithdrawTypestring

String length: inclusive between 1 and 4

Response Parameters

ValidationRulesList of validation rules

Returned if successful Each ValidationRuleSpec contains the following parameters: ErrorMessage—Error message describing the validation rule
FieldName—Name of the field to which the validation rule applies
IsRegulatoryField—If True, then the rule applies to a regulatory field that must be provided for the beneficiary. Regulatory fields are additional fields that are required for the payment to be processed
SuggestedValues—List of values commonly used for the field. SuggestedValues will be populated even when ValueRange is set.
ValidationRegex—Regular expression that can be used to check values of the field for correctness. Regular expressions target the .NET framework; however, they should work correctly in other language Regex implementations as well
ValueRange—Range of allowed values for the field. If not set, then values are not restricted to a particular set

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Bank/GetBankDynamicValidationRules

{  
  "GetBankDynamicValidationRules":{  
    "request":{  
      "IssuerAccountNumber":"SPN1781760",
      "CountryISO2":"US",
      "Currency":"USD",
      "BankWithdrawType":"ACH"
    }
  }
}
						

Sample Response:


{  
  "GetBankDynamicValidationRulesResponse":{  
    "GetBankDynamicValidationRulesResult":{  
      "OperationStatus":{  
        "Errors":null,
        "Success":true
      },
      "ValidationRules":{  
        "ValidationRuleSpec":[  
          {  
            "ErrorMessage":"Beneficiary Account Number is invalid. Value should be 1 to 17 characters long.",
            "FieldName":"BeneficiaryAccountNumber",
            "IsRegulatoryField":false,
            "ValidationRegex":"^[A-Za-z0-9]{1,17}$",
            "SuggestedValues":[  

            ],
            "ValueRange":[  

            ]
          },
          {  
            "ErrorMessage":"Beneficiary Name is invalid. Value should be 1 to 22 characters long.",
            "FieldName":"BeneficiaryContactName",
            "IsRegulatoryField":false,
            "ValidationRegex":"^.{1,100}$",
            "SuggestedValues":[  

            ],
            "ValueRange":[  

            ]
          },
          {  
            "ErrorMessage":"Beneficiary Phone Number is too long. Maximum 100 characters allowed.",
            "FieldName":"BeneficiaryPhoneNumber",
            "IsRegulatoryField":false,
            "ValidationRegex":"^.{0,100}$",
            "SuggestedValues":[  

            ],
            "ValueRange":[  

            ]
          },
          {  
            "ErrorMessage":"Purpose Of Payment is too long. Maximum 35 characters allowed.",
            "FieldName":"PurposeOfPayment",
            "IsRegulatoryField":false,
            "ValidationRegex":"^.{0,35}$",
            "SuggestedValues":[  
              "",
              "PURCHASE OF GOOD(S)",
              "PURCHASE OF SERVICE(S)",
              "PROFESSIONAL FEES PAYMENT",
              "PAYROLL/PERSONNEL PAYMENT",
              "PAYMENT FOR A LOAN OR DEPOSIT",
              "BILL PAYMENT",
              "RESEARCH AND DEVELOPMENT",
              "BUSINESS VENTURE",
              "INTERCOMPANY PAYMENT",
              "CHARITABLE DONATION",
              "PURCHASE OF PROPERTY / REAL ESTATE",
              "ESTATE SETTLEMENT / INHERITANCE",
              "GOVERNMENT RELATED PAYMENT",
              "INVESTMENT RELATED PAYMENT"
            ],
            "ValueRange":[  

            ]
          },
          {  
            "ErrorMessage":"ABA Number is invalid. Value should be exactly 9 digits long.",
            "FieldName":"RoutingCode",
            "IsRegulatoryField":false,
            "ValidationRegex":"^[0-9]{9}$",
            "SuggestedValues":[  

            ],
            "ValueRange":[  

            ]
          }
        ]
      }
    }
  }
}
						

Create Bank Beneficiary

Create Bank Beneficiary

A structure that contains the information needed to create a new beneficiary template.

post/API/v4/Bank/CreateBankBeneficiary

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25
If you are create bank beneficiary for a user PATXXXX. If you are creating bank beneficiary for a company use SPNXXXX.

BeneficiaryContactNamestring

String length: inclusive between 1 and 100

BeneficiaryWithdrawCurrencystring

String length: 3

WithdrawTypestring

String length: inclusive between 1 and 4

BeneficiaryPhoneNumberstring

String length: inclusive between 1 and 15

AddressLine1string

String length: inclusive between 1 and 35

AddressLine2string

String length: inclusive between 1 and 35

Citystring

String length: inclusive between 1 and 20

Regionstring

String length: inclusive between 1 and 30

PostalCodestring

String length: inclusive between 1 and 20

CountryISO2string

String length: 2

InstitutionNamestring

String length: inclusive between 1 and 50

SWIFTBICstring

String length: inclusive between 1 and 12

BeneficiaryAccountNumberstring

String length: inclusive between 1 and 50

RoutingNumberstring

String length: inclusive between 1 and 15

BranchNamestring

String length: inclusive between 1 and 100

AddressLine1string

String length: inclusive between 1 and 35

CountryISO2string

String length: 2

RegulatoryFields(Required if applicable)List

Response Parameters

BeneficiaryIdstring

Returned if successful Unique identifier of the beneficiary that was created.

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Bank/CreateBankBeneficiary

 {  
  "CreateBankBeneficiary":{  
    "request":{  
      "IssuerAccountNumber":"SPN1781760",
      "UserID":"PAT1781930",
      "Beneficiary":{  
        "BeneficiaryDetails":{  
          "BeneficiaryInformation":{  
            "BeneficiaryContactName":"Adam Eisner",
            "BeneficiaryWithdrawCurrency":"USD",
            "WithdrawType":"ACH",
            "BeneficiaryPhoneNumber":"1234567890",
            "AddressLine1":"adddress line 1",  
            "AddressLine2":"address line 2",  
            "City":"city",  
            "Region":"state/region/county",  
            "PostalCode":"postalcode",  
            "CountryISO2":"US"
          }
        },
        "BankDetails":{  
          "BeneficiaryBankInformation":{  
            "InstitutionName":"Wells Fargo Bank, National Association",
            "SWIFTBIC":"WFBIUS6SXXX",
            "BeneficiaryAccountNumber":"3232324222",
            "RoutingNumber":"1210428822",
            "BranchName":"Belmont",
            "AddressLine1":"address line 1",  
            "CountryISO2":"US" 
          }
        },
        "RegulatoryFields":{  
          "RegulatoryField":[  
            {  
              
            }
          ]
        }
      }
    }
  }
}
						

Sample Response:


{  
  "CreateBankBeneficiaryResponse":{  
    "CreateBankBeneficiaryResult":{  
      "BeneficiaryId":"4452073dbca04a1eb41399940fdbcdec",
      "AccountIdentityLevel": "Pending",
      "OperationStatus":{  
        "Errors":null,
        "Success":true
      }
    }
  }
}
						

Get Balance

Get Balance

This allows you to get beneficiary user's digital wallet balance.

post/API/v4/Wallet/GetUserWalletBalance

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25

Currencystring

String length:3

Reponse Parameters

Balancestring

Digital Wallat balance of the user. Returned if successful.

Currencystring

Digital Wallat balance currency of the user. Returned if successful.

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/GetUserWalletBalance

{
    "GetUserWalletBalance": {
        "request": {
           "IssuerAccountNumber": "SPN Account Number",
            "UserID": "PAT Account Number",
            "Currency": "Currency Code"
        }
    }
}
						

Sample Response:


{
	"UserWalletBalnceResponse": {
		"UserWalletBalanceResult": {
			"Balance": 35,
			"Currency": "USD",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Payment Methods

Beneficiary Payment Methods

A Beneficiary can transfer to end points such as Bank, PayPal or a Prepaid Virtual Debit Card from their XTRM 'AnyPay™' digital wallet.

post/API/v4/Payment/GetUserPaymentMethods

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

No request parameters

Reponse Parameters

PaymentMethodsstring

Returned if successful List of payment methods found. For each payment methods, the following parameters are returned:
PaymentMethodId—Unique Payment method ID
PaymentMethodName—Payment method name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Payment/GetUserPaymentMethods

    {
    }
						

Sample Response:


{
    "GetPaymentMethodsResponse": {
        "PaymentMethodResult": {
            "PaymentMethods": {
                "PaymentMethodDetails": [{
                    "PaymentMethodId": "XTR94500",
                    "PaymentMethodName": "Bank"
                }, {
                    "PaymentMethodId": "XTR94503",
                    "PaymentMethodName": "Prepaid Virtual Cash Card"
                }, {
                    "PaymentMethodId": "XTR94501",
                    "PaymentMethodName": "PayPal"
                }]
            },
            "OperationStatus": {
                "Success": true,
                "Errors": null
            }
        }
    }
}
						

Beneficiary Withdraw Funds

Beneficiary Withdraw Funds

This allows beneficiary to withdraw funds using one of the payment methods from their XTRM 'AnyPay™' Digital Wallet. On UserWithdrawFund call a 6 digit one time password(OTP) is generated and sent to user. Get the 6 digit OTP value from the user in your application and resubmit UserWithdrawFund with OTP included.

post/API/v4/Fund/UserWithdrawFund

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25

Amountdecimal

String length: inclusive between 1 and 25

Currencystring

String length: 3

PaymentMethodIdstring

String length: inclusive between 1 and 25

UserLinkedBankIDstring for Method: Bank

string length: inclusive between 1 and 25

UserPayPalEmailIDstring for Method: PayPal

string length: inclusive between 1 and 25

UserPrepaidVisaEmailIDstring for Method: Prepaid Virtual Cash Card

String length: inclusive between 1 and 300
Minimum amount is $5.00 and Maximum amount is $1000.00

UserGiftCardEmailIDstring for Method: Digital Gift Card

string length: inclusive between 1 and 25

skustring for Method: Digital Gift Card

string length: inclusive between 1 and 10

OTPstringRequired on every withdraw call.

String length: six digit integer

Reponse Parameters

TransactionDetailstring

Returned if successful List of Transaction detail found. For each transaction detail the following parameters are allowed: PaymentDate—Date when payment is processed
PaymentStatus—Status of payment

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Fund/UserWithdrawFund

{
  "UserWithdrawFund": {
    "request": {
        "IssuerAccountNumber": "SPN Account Number",
        "UserID": "PAT Account Number",
        "Amount": "Payment Amount",     
        "Currency":"Currency Code",  
        "PaymentMethodId": "Use 'GetUserPaymentMethods' to get PaymentMethodID",       
        "UserLinkedBankID": "Use 'GetLinkedBankAccounts' to get UserLinkedBankID",
        "UserPayPalEmailID": "User PayPal Email ID",
        "UserPrepaidVisaEmailID": "User Prepaid Virtual Visa Email ID",
        "OTP":"six digit integer"
       
    }
  }
}
						

Sample Response:


{
	"UserWithdrawFundResponse": {
		"UserWithdrawFundResult": {
			"PaymentDate": 2017-11-09T03:50:22.893,
			"PaymentStatus": "Completed",
			"OperationStatus": {
				"Success": false,
				"Errors": []
			}
		}
	}
}
						

Errors

Errors List

LegalFirstName


Legal FirstName is Mandatory.
The LegalFirstName must be at least 4 characters long.
The LegalFirstName cannot be longer than 50 characters.
                                  

LegalLastName


Legal LastName is Mandatory
The LegalLastName must be at least 4 characters long.
The LegalFirstName cannot be longer than 40 characters.
                                    

EmailAddress


EmailAddress is Mandatory
EmailAddress cannot be longer than 100 characters.
                                          

MobilePhone


The MobilePhone cannot be longer than 25 characters.
                              

TaxId


The TaxId cannot be longer than 100 characters.
                              

DateOfBirth


The Day cannot be longer than 2 characters.
The Month cannot be longer than 2 characters.
The Year cannot be longer than 4 characters.
                              

AddressLine1


The AddressLine1 cannot be longer than 500 characters.
                              

AddressLine2


The AddressLine2 cannot be longer than 500 characters.
                              

AptSuitNum


The AptSuitNum cannot be longer than 100 characters.
                              

City


The City cannot be longer than 25 characters.
                              

CountryISO2


The CountryISO2 cannot be longer than 2 characters.
                              

PostalCode


The PostalCode cannot be longer than 30 characters.
                              

Region


The Region cannot be longer than 50 characters.
                              

Country


Country is Mandatory
The Country cannot be longer than 50 characters.
                              

UserId


The UserId is Mandatory.
The UserId must be at least 10 characters long.
The UserId cannot be longer than 25 characters
                                  

IssuerAccountNumber


The IssuerAccountNumber is Mandatory.
The IssuerAccountNumber must be at least 10 characters long.
The IssuerAccountNumber cannot be longer than 25 characters
                                 

PaymentType


The Payment Type is Mandatory
The Payment Type cannot be longer than 25 characters
                                  

PaymentMethodId


The Payment MethodId is Mandatory
The Payment MethodId cannot be longer than 25 characters
                                  

ProgramId


The WalletId is Mandatory
                                  

WalletId


The ProgramId is Mandatory

                                 

PaymentDescription


The Payment Description is Mandatory 
The Payment Description cannot be longer than 300 characters
                                  

PaymentCurrency


The Payment Currency is Mandatory
The Payment Currency cannot be longer than 3 characters
                                  

RecipientUserId


The Recipient UserId is Mandatory
The Recipient UserId must be at least 10 characters long.
The Recipient UserId cannot be longer than 25 characters
                                  

Create Beneficiary User

Create Beneficiary User Account

This is a beneficiary user account where they can send and receive all payments. A wallet is also created for them, using the currency for the country specified during create. These will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test users or emails on production servers.

post/API/v4/Register/CreateUser

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

LegalFirstNamestring

String length: inclusive between 2 and 50. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

LegalLastNamestring

String length: inclusive between 2 and 40. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

EmailAddressstring

String length: inclusive between 0 and 100. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

EmailNotificationboolean

MobilePhonestring

String length: inclusive between 1 and 25

TaxIdstring

String length: inclusive between 1 and 100

DateofBirth

Daystring

Set: Value between 1 and 31

Monthstring

Set: Value between 1 and 12

Yearstring

Set: Value between 1920 and current year

AddressLine1string

String length: inclusive between 1 and 500

AddressLine2string

String length: inclusive between 1 and 500

AptSuitNumstring

String length: inclusive between 1 and 100

Citystring

String length: inclusive between 1 and 25

Countrystring

String length: inclusive between 1 and 50. This will be reviewed for KYC (Know Your Customer) compliance so be sure the information submitted is real and accurate. Do not create test companies or emails on production servers.

CountryISO2string

String length: 2

PostalCodestring

String length: inclusive between 1 and 30

Regionstring

String length: inclusive between 1 and 50

Reponse Parameters

Useridstring

Unique Identifier of the user that was created. Returned if successful.

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Register/CreateUser

{
    "CreateUser": {
        "request": {
             "IssuerAccountNumber" : "SPN Account Number",                           
            "LegalFirstName": "First Name",
            "LegalLastName": "Last Name",
            "EmailAddress": "Email ID",
            "EmailNotification" :"true/false",
            "MobilePhone": "Mobile Number",
            "TaxId": "Tax id",
            "DateOfBirth": {
                "Day": "DD",
                "Month": "MM",
                "Year": "YYYY"
            },
            "Address": {
                "AddressLine1": "Address Line 1",
                "AddressLine2": "Address Line 2",
                "AptSuitNum": "Apartment or Suit Number",
                "City": "City",
                "Country": "Country",
                "CountryISO2": "Currency Code",
                "PostalCode": "Postal Code",
                "Region": "Region/State/County"
            }
        }
    }
}

						

Sample Response:


{
    "CreateUserResponse": {
        "CreateUserResult": {
            "UserID": PAT12345678,
            "AccountIdentityLevel": "Pending",
            "OperationStatus": {
                "Success": true,
                "Errors": null
            }
        }
    }
}
						

API Release Notes

Version Release Date Status  
V4.3 Coming Soon Coming Soon  
V4.2 03-11-2019 Live  
V4.1.1 11-02-2018 Live  
V4.1 05-01-2018 Live  
V4.01 02-23-2018 Live  
V4.0 02-12-2018 Live  
V3.0 08-20-2017 Live  
V2.0 03-14-2017 Retired  
V1.0 11-02-2016 Retired  

 

Announcement


Version 4.2


V4.3 will be released soon.


If you have any feedback or requests please email apisupport@xtrm.com

Version 3.0 will be discontinued with effect from May 2018.

Version 4.2

Index of Changed Calls - 4.2

Schema Changes - 4.2

Announcements - 4.2

New Features - 4.2

Changed Functionality - 4.2

Index of Changed Calls - 4.2

These calls were added, modified, deprecated, or affected by documentation changes in this release. The changes are described below as well as in each call's Change History.

New Calls

  • FundUsertoUserWalletUsingCreditCard

    Created Date Description
    4.2
    02/15/2019
    • This API call is used to fund a user wallet using Credit Card. This API calls requires special access rights and would not function without them. Please contact support@xtrm.com to get access to this API call.
  • LinkBankBeneficiary

    Created Date Description
    4.2
    02/15/2019
    • This API call will replace the previous API call(CreateBankBeneficiary) to link a bank. There are 2 sections of information, Beneficiary Details and Bank Details. All parameters under Beneficiary Details parameters are mandatory. Parameters under Bank Details are mandatory baesd on the inputs to these 5 parameters (InstitutionName, WithdrawType, Currency, AccountNumber, CountryISO2). On posting with these details to the API call you will get a response with additional fields required. The response will include Field name and Field Label. Field Name is the additional parameter name in the API call. Field Label is the Label to be displayed to your users to get additional information.
  • GetGiftCardDetails

    Created Date Description
    4.2
    02/15/2019
    • This API call is your to get detailed information of a selected digital gift card sku.

Changed Calls

  • CreateBankBeneficiary

    Change Date Description
    4.2
    02/15/2019
    • CreateBankBeneficiary API is replaced with LinkBankBeneficiary API.

Schema Changes - 4.2

None for this release.

Announcements - 4.2

None for this release.

New Features - 4.2

None for this release.

Changed Functionality - 4.2

None for this release.

Back to top

Version 4.1.1

Index of Changed Calls - 4.1.1

Schema Changes - 4.1.1

Announcements - 4.1.1

New Features - 4.1.1

Changed Functionality - 4.1.1

Index of Changed Calls - 4.1.1

These calls were added, modified, deprecated, or affected by documentation changes in this release. The changes are described below as well as in each call's Change History.

New Calls

None for this release.

Changed Calls

  • CreateBankBeneficiary

    Change Date Description
    4.1.1
    11/02/2018
    • Included AddressLine2, City, Region/State/County, PostalCode under BeneficiaryDetails and AddressLine1, CountryISO2 under BankDetails. Included AccountIdentityLevel in the Response.
  • CreateUser

    Change Date Description
    4.1.1
    11/02/2018
    • Included AccountIdentityLevel in the Response.
  • UpdateUser

    Change Date Description
    4.1.1
    11/02/2018
    • Included AccountIdentityLevel in the Response.
  • CreateBeneficiary

    Change Date Description
    4.1.1
    11/02/2018
    • Included AccountIdentityLevel in the Response.
  • UpdateBeneficiary

    Change Date Description
    4.1.1
    11/02/2018
    • Included AccountIdentityLevel in the Response.
  • TransferFund

    Change Date Description
    4.1.1
    11/02/2018
    • Included Amount, Fee, TotalAmount, Currency in the Response.

Schema Changes - 4.1.1

None for this release.

Announcements - 4.1.1

None for this release.

New Features - 4.1.1

None for this release.

Changed Functionality - 4.1.1

None for this release.

Back to top

Version 4.1

Index of Changed Calls - 4.1

Schema Changes - 4.1

Announcements - 4.1

New Features - 4.1

Changed Functionality - 4.1

Index of Changed Calls - 4.1

These calls were added, modified, deprecated, or affected by documentation changes in this release. The changes are described below as well as in each call's Change History.

New Calls

  • GetUserWalletTransactionsByRemitter

    Change Date Description
    4.1
    05/29/2018
    • This call allows you to get list of transactions of a specific user and remitter. Records will contain amount sent by the remitter to the user.
  • GetExchangeRate

    Change Date Description
    4.1
    05/01/2018
    • This allows you to get exchange rate between two currencies.
  • BookExchange

    Change Date Description
    4.1
    05/01/2018
    • This allows to move fund from one currency wallet to a different currency wallet.
  • TransferFundUsertoCompanyUsingCC

    Change Date Description
    4.1
    05/01/2018
    • This allows you to receive fund from a beneficiary user using their Credit Card. It is a two step process. Fund is deposited in user account followed by sending the deposited fund to the company wallet. a
  • TransferFundWallettoWallet

    Change Date Description
    4.1
    05/01/2018
    • This allows you to transfer fund from a user wallet to company wallet, user wallet to another user wallet, company wallet to user wallet, company wallet ot another company wallet. On TransferFundWallettoWallet call a 6 digit one time password(OTP) is generated and sent to user from whom the fund is going to debited. Get the 6 digit OTP value from the user in your application and resubmit TransferFundWallettoWallet with OTP included.
  • GetDigitalGiftCards

    Change Date Description
    4.1
    05/01/2018
    • This allows to get the list of digital gift cards supported by XTRM. The list has a unique SKU which is used as input the the userwithdrawfund API call. Digital Gift Card is added an additional withdraw method for the user.

Changed Calls

  • GetUserPaymentMethods

    Change Date Description
    4.1
    05/01/2018
    • Digital Gift Card is included as an additional withdraw fund option for the users only.
  • UserWithdrawFund

    Change Date Description
    4.1
    05/01/2018
    • Included UserGiftCardEmailID as an input parameter to withdraw user fund to digital gift card. Included sku as an input parameter to refer the unique Digital Gift Card.

Schema Changes - 4.1

None for this release.

Announcements - 4.1

None for this release.

New Features - 4.1

None for this release.

Changed Functionality - 4.1

None for this release.

Back to top

Version 4.01

Index of Changed Calls - 4.01

Schema Changes - 4.01

Announcements - 4.01

New Features - 4.01

Changed Functionality - 4.01

Index of Changed Calls - 4.01

These calls were added, modified, deprecated, or affected by documentation changes in this release. The changes are described below as well as in each call's Change History.

New Calls

  • CreateBeneficiaryCompanyWallet

    Change Date Description
    4.01
    02/23/2018
    • This allows you to create beneficiary company wallets and specify wallet currency.
  • UpdateBeneficiarycompanywallet

    Change Date Description
    4.01
    02/23/2018
    • You can update beneficiary company wallet details.
  • GetBeneficiaryCompanyPaymentMethods

    Change Date Description
    4.01
    02/23/2018
    • A Beneficiary Company can transfer to end points Bank from their XTRM 'AnyPay™' digital wallet.
  • BeneficiaryCompanyWithdrawFund

    Change Date Description
    4.01
    02/23/2018
    • This allows beneficiary company to withdraw funds to their Bank from their XTRM 'AnyPay™' Digital Wallet. On UserWithdrawFund call a 6 digit one time password(OTP) is generated and sent to user. Get the 6 digit OTP value from the user in your application and resubmit UserWithdrawFund with OTP included.

Changed Calls

None for this release.

Schema Changes - 4.01

None for this release.

Announcements - 4.01

None for this release.

New Features - 4.01

None for this release.

Changed Functionality - 4.01

None for this release.

Back to top

Version 4.0

Index of Changed Calls - 4.0

Schema Changes - 4.0

Announcements - 4.0

New Features - 4.0

Changed Functionality - 4.0

Index of Changed Calls - 4.0

These calls were added, modified, deprecated, or affected by documentation changes in this release. The changes are described below as well as in each call's Change History.

New Calls

  • GetUserWallet

    Change Date Description
    4.0
    02/10/2018
    • You can get a list of wallet for a particular user. The respone has WalletID, Walletname and WalletCurrency.
  • GetPersonalBeneficiaries

    Change Date Description
    4.0
    02/10/2018
    • This allows you to get a list of your Personal beneficiaries created by you through API or Web.
  • CheckUserExist

    Change Date Description
    4.0
    02/10/2018
    • This allows to check if the personal beneficiary exists using email as input.

Changed Calls

  • GetCompanywallets

    Change Date Description
    4.0
    02/10/2018
    • Included Wallettype in the response parameter. The value could be Standard or Accrual.
  • FundCompanyWalletUsingCreditCard

    Change Date Description
    4.0
    02/10/2018
    • Included Amex Card as one of the value to CreditCardType paramter.
  • CheckBeneficiaryExist

    Change Date Description
    4.0
    02/10/2018
    • Included Email, Masteradmin Firstname and Masteradmin Lastname of the beneficiary company.
  • UserWithdrawFund

    Change Date Description
    4.0
    02/10/2018
    • Included One Time Password for every withdraw. User receives an OTP once this call is invoked. To complete withdrawfund you have to pass the OTP along with other parameters.

Schema Changes - 4.0

None for this release.

Announcements - 4.0

Added more security to withdraw funds.

New Features - 4.0

None for this release.

Changed Functionality - 4.0

  • UserWithdrawFund

    Change Date Description
    4.0
    02/10/2018
    • Included One Time Password for every withdraw. User receives an OTP once this call is invoked. To complete withdrawfund you have to pass the OTP along with other parameters.

Back to top

Version 3.0

Index of Changed Calls - 3.0

Schema Changes - 3.0

Announcements - 3.0

New Features - 3.0

Changed Functionality - 3.0

Index of Changed Calls - 3.0

These calls were added, modified, deprecated, or affected by documentation changes in this release. The changes are described below as well as in each call's Change History.

New Calls

  • GetLinkedBankAccounts

    Change Date Description
    3.0
    07/15/2017
    • You can get a list of wallet for a particular user. The respone has WalletID, Walletname and WalletCurrency.
  • SearchBank

    Change Date Description
    3.0
    07/15/2017
    • Retrieves a list of banks that match the search criteria.
  • GetBankWithdrawTypes

    Change Date Description
    3.0
    07/15/2017
    • Retrieves a list of banks withdraw types.
  • GetBankDynamicValidationRules

    Change Date Description
    3.0
    07/15/2017
    • Retrieves full beneficiary template information, based on the specified criteria.
  • CreateBankBeneficiary

    Change Date Description
    3.0
    07/15/2017
    • A structure that contains the information needed to create a new beneficiary template.
  • FundCompanyWalletUsingCreditCard

    Change Date Description
    3.0
    07/15/2017
    • This call allows you to fund a wallet using credit card.

Changed Calls

None for this release.

Schema Changes - 3.0

None for this release.

Announcements - 3.0

None for this release.

New Features - 3.0

Changed Functionality - 3.0

None for this release.

Back to top

Create Beneficiary Company Wallet

Create Beneficiary Company Wallet

This allows you to create beneficiary company wallets and specify wallet currency.

post/API/V4/Wallet/CreateBeneficiaryCompanyWallet

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

BeneficiaryAccountNumberstring

String length: inclusive between 1 and 25

WalletNamestring

String length: inclusive between 1 and 100

WalletCurrencystring

String length: 3

WalletTypestring

String: Allowed values are "Standard" or "Accrual"

Reponse Parameters

Walletsstring

Returned if successful List of User Wallets found. For each Wallet the following parameters are returned:
WalletID—Wallet ID
WalletName—Wallet name
WalletCurrency— Wallet currency name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/CreateBeneficiaryCompanyWallet

{
  "CreateBeneficiaryCompanyWallet": {
    "request": {
    	"IssuerAccountNumber":"SPN Account Number",
        "BeneficiaryAccountNumber":"SPN Account Number",
    	"WalletName": "Wallet Name",
        "WalletCurrency": "Currency Code",
        "WalletType":"Standard/Accrual"
    }
  }
}
						

Sample Response:


{
	"CreateBeneficiaryCompanyWalletResponse": {
		"CreateBeneficiaryCompanyWalletResult": {
			"WalletID": 101428,
			"WalletName": "GBP API Wallet 22",
			"WalletCurrency": "GBP",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Update Beneficiary Company Wallets

Update Beneficiary Company Wallets

You can update beneficiary company wallet details.

post/API/v4/Wallet/updateBeneficiarycompanywallet

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

BeneficiaryAccountNumberstring

String length: inclusive between 1 and 25

WalletIDint

String length: inclusive between 1 and 10.

WalletNamestring

String length: inclusive between 1 and 100

Reponse Parameters

Status—Status

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/updateBeneficiarycompanywallet

{
  "UpdateBeneficiaryCompanyWallet": {
    "Request": {
        "IssuerAccountNumber": "SPN Account Number",
        "BeneficiaryAccountNumber":"SPN Account Number",
        "WalletID": "Wallet ID",
        "WalletName": "Wallet Name"
    }
  }
}					

Sample Response:


{
	"UpdateBeneficiaryCompanyWalletResponse": {
		"UpdateBeneficiaryCompanyWalletResult": {
			"Status": "Updated successfully",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Beneficiary Company Payment Methods

Beneficiary Company Payment Methods

A Beneficiary Company can transfer to end points Bank from their XTRM 'AnyPay™' digital wallet.

post/API/v4/Payment/GetBeneficiaryCompanyPaymentMethods

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

No request parameters

Reponse Parameters

PaymentMethodsstring

Returned if successful List of payment methods found. For each payment methods, the following parameters are returned:
BeneficiaryCompanyPaymentMethodId—Unique Payment method ID
BeneficiaryCompanyPaymentMethodName—Payment method name

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Payment/GetBeneficiaryCompanyPaymentMethods

    {
    }
						

Sample Response:


{
	"GetBeneficiaryCompanyPaymentMethodsResponse": {
		"BeneficiaryCompanyPaymentMethodResult": {
			"BeneficiaryCompanyPaymentMethods": {
				"BeneficiaryCompanyPaymentMethodDetails": [
					{
						"BeneficiaryCompanyPaymentMethodId": "XTR94500",
						"BeneficiaryCompanyPaymentMethodName": "Bank"
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Beneficiary Company Withdraw Funds

Beneficiary Company Withdraw Funds

This allows beneficiary company to withdraw funds to their Bank from their XTRM 'AnyPay™' Digital Wallet. On UserWithdrawFund call a 6 digit one time password(OTP) is generated and sent to user. Get the 6 digit OTP value from the user in your application and resubmit UserWithdrawFund with OTP included.

post/API/v4/Fund/BeneficiaryCompanyWithdrawFund

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

BeneficiaryAccountNumberstring

String length: inclusive between 1 and 25

Amountdecimal

String length: inclusive between 1 and 25

Currencystring

String length: 3

PaymentMethodIdstring

String length: inclusive between 1 and 25

BeneficiaryWalletIDstring

Int length: inclusive between 1 and 25

OTPstringRequired on every withdraw call.

String length: six digit integer

Reponse Parameters

TransactionDetailstring

Returned if successful List of Transaction detail found. For each transaction detail the following parameters are allowed: PaymentDate—Date when payment is processed
PaymentStatus—Status of payment

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Fund/BeneficiaryCompanyWithdrawFund

{
  "BeneficiaryCompanyWithdrawFund": {
    "request": {
        "IssuerAccountNumber": "SPN Account Number",                
        "Currency":"Currency Code",  
        "Amount": "Payment Amount",    
        "PaymentMethodId": "Use 'GetBeneficiaryCompanyPaymentMethods' to get PaymentMethodID",       
        "BeneficiaryAccountNumber":"SPN Account Number",
        "BeneficiaryWalletID":"Use 'GetBeneficiaryWallets' to get WalletID",
        "BeneficiaryLinkedBankID":"Use 'GetLinkedBankAccounts' to get LinkedBankID",
        "OTP": "six digit integer"

    }
  }
}
						

Sample Response:


{
	"BeneficiaryCompanyWithdrawFundResponse": {
		"BeneficiaryCompanyWithdrawFundResult": {
			"PaymentDate": 2017-11-09T03:50:22.893,
			"PaymentStatus": "Completed",
			"OperationStatus": {
				"Success": false,
				"Errors": []
			}
		}
	}
}
						

XTRM Pay - Card Processing

XTRM Pay - Card Processing

Transfer fund from user to company using credit card

This allows you to receive fund from a beneficiary user using their Credit Card. It is a two step process. Fund is deposited in user account followed by sending the deposited fund to the company wallet.

post/API/V4/Fund/TransferFundUsertoCompanyUsingCC

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25. Unuque ID(PATXXX) of the beneficiary user funding the beneficiary company or the remitter.

UserWalletIDint

Integer length: inclusive between 1 and 10. Use 'GetUserWallets' to get WalletID of the user.

CompanyAccountNumberstring

String length: inclusive between 1 and 25

CompanyWalletIDint

Integer length: inclusive between 1 and 10. Use 'GetCompanyWallets' to get WalletID of the company.

Amountdecimal

String length: inclusive between 1 and 25

CurrencyCodestring

String length:3

Descriptionstring

String length: inclusive between 1 and 300

FirstNamestring

String length: inclusive between 1 and 50

LastNamestring

String length: inclusive between 1 and 40

Address1string

String length: inclusive between 1 and 200

Citystring

String length: inclusive between 1 and 25

Statestring

String length: inclusive between 1 and 25

CountryISO2string

String length: 2

PostalCodeint

String length: inclusive between 1 and 15

ExpireMonthint

int length: 2

ExpireYearint

int length: 4

CreditCardNumberint

int length: inclusive between 13 and 16

CreditCardTypestring

String length: inclusive between 1 and 25. Value could be one of these "Visa Card", "Master Card" or "Amex Card"

CVVint

int length: 4

Reponse Parameters

TransactionDetailstring

Returned if successful List of Transaction detail found. For each transaction detail the following parameters are allowed: TransactionID—Unique ID of this transaction Amount—Amount processed Fee—Fee charged Total Amount—Total Amount including fee processed
PaymentStatus—Status of payment

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Fund/TransferFundUsertoCompanyUsingCC

{
  "TransferFundUsertoCompanyUsingCC": {
    "Request": {
      "PaymentDetails": {
        "IssuerAccountNumber": "SPN Issuer Account Number",
        "UserID":"PAT Issuer Account Number",
        "UserWalletID":"User Wallet ID",
        "CompanyAccountNumber":"SPN Issuer Account Number",
        "CompanyWalletID":"Company Wallet ID",
        "Amount": "Amount",
        "CurrencyCode": "Currency Code",
        "Description":"Description of the funding"
      },
      "PayerInformation": {
        "FirstName": "First Name",
        "LastName": "Last Name"
      },
      "PayerBillingAddress":{
       "Address1":"Address 1",
       "City":"City",
       "State":"State",
       "CountryISO2":"Country Code",
       "PostalCode":"Postal Code"
      },
      "CreditCardDetails":{
       "ExpireMonth":"Expire Month",
       "ExpireYear":"Expire Year",
       "CreditCardNumber":"Credit Card Number",
       "CreditCardType":"Visa Card/Master Card",
       "CVV":"CVV"
      }
       
      }
    }
  }
						

Sample Response:


{
	"TransferFundUsertoCompanyUsingCCResponse": {
		"TransferFundUsertoCompanyUsingCCResult": {
			"TransactionID": "15663",
			"Amount": "$100.00 USD",
			"Fee": "$3.00 USD",
			"TotalAmount": "$103.00 USD",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}				

Get Exchange Rate

Get Exchange Rate

This allows you to get the exchange for the given from and to currency.

post/API/v4/Payment/GetExchangeRate

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

FromCurrencystring

String length: 3

ToCurrencystring

String length: 3

Reponse Parameters

Get Exchange Ratestring

Returned if successful. Allowed parameters are
IssuerAccountNumber—Issuer account number
FromCurrency—From currency code
ToCurrency— To currecny code
Amount— 1 is default
ExchangeRate— Spot exchange rate. This may differ while exchanging the currecny depending on the time taken to perform book exchange rate API call.

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Payment/GetExchangeRate

 {  
  "GetExchangeRate":{  
    "Request":{  
      "IssuerAccountNumber":"SPN Account Number",
      "FromCurrency":"Currency code",
      "ToCurrency":"Currency code"
    }
  }
}
						

Sample Response:


{
	"GetExchangeRateMethodsResponse": {
		"ExchangeRateMethodResult": {
			"ExchangeRateMethods": {
				"ExchangeRateMethodsDetail": [
					{
						"IssuerAccountNumber": "SPN15111156",
						"FromCurrency": "USD",
						"ToCurrency": "GBP",
						"Amount": 1,
						"ExchangeRate": 0.7312
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Book Exchange

Book Exchange

This allows to move fund from one currency wallet to a different currency wallet.

post/API/v4/Payment/BookExchange

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

AccountNumberstring

String length: inclusive between 1 and 25

FromWalletIDint

Int length: inclusive between 1 and 25. Use 'GetCompanyWallets' to get WalletID.

ToWalletIDint

Int length: inclusive between 1 and 25. Use 'GetCompanyWallets' to get WalletID.

FromCurrencystring

String length: 3

ToCurrencystring

String length: 3

Amountdecimal

String length: inclusive between 1 and 25

OTPintRequired on every book exchange API call.

Int length: six digit integer

Reponse Parameters

Book Exchangestring

Returned if successful. Allowed parameters are
DebitTransactionID — Unique transaction ID of the amount debited from the wallet
CreditTransactionID — Unique transaction ID of the amount credited to the wallet
PaymentDate — Date of the transaction
PaymentStatus - Transaction Status

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Payment/BookExchange

 {  
  "BookExchange":{  
    "Request":{  
      "IssuerAccountNumber":"SPN Account Number",
      "AccountNumber":"SPN/PAT Account Number",
      "FromWalletID":"SPN/PAT Wallet ID",
      "ToWalletID":"SPN/PAT Wallet ID",
      "FromCurrency":"Currency code",
      "ToCurrency":"Currency code",
      "Amount":"Amount",
      "OTP":"six digit integer"
    }
  }
}
						

Sample Response:


{
	"BookExchangeMethodsResponse": {
		"BookExchangeMethodResult": {
			"BookExchangeMethods": {
				"BookExchangeMethodsDetail": {
					"DebitTransactionID": 30567,
					"CreditTransactionID": 30568,
					"PaymentDate": "2018-05-14T00:00:00-05:00",
					"PaymentStatus": "Completed"
				}
			},
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Transfer Fund Wallet to Wallet

Transfer Fund Wallet to Wallet

This allows you to transfer fund from a user wallet to company wallet, user wallet to another user wallet, company wallet to user wallet, company wallet ot another company wallet. On TransferFundWallettoWallet call a 6 digit one time password(OTP) is generated and sent to user from whom the fund is going to debited. Get the 6 digit OTP value from the user in your application and resubmit TransferFundWallettoWallet with OTP included.

post/API/v4/Fund/TransferFundWallettoWallet

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

FromAccountNumberstring

String length: inclusive between 1 and 25. Can be Issuer account number(SPNXXX) or Beneficiary company account number (SPNXXX) or beneficiary user id(PATXXX)

FromWalletIDint

Int length: inclusive between 1 and 10. Use 'GetCompanyWallets' or 'GetUserWallets' or 'GetBeneficiaryWallets' to get WalletID.

ToAccountNumberstring

String length: inclusive between 1 and 25. Can be Issuer account number(SPNXXX) or Beneficiary company account number (SPNXXX) or beneficiary user id(PATXXX)

ToWalletIDint

Int length: inclusive between 1 and 10. Use 'GetCompanyWallets' or 'GetUserWallets' or 'GetBeneficiaryWallets' to get WalletID.

Currencystring

String length: 3

Amountdecimal

String length: inclusive between 1 and 25

Descriptionstring

String length: inclusive between 1 and 200

OTPintRequired on every transfer fund wallet to wallet API call.

Int length: six digit integer

Reponse Parameters

Transfer Fund Wallet to Wallet Responsestring

Returned if successful. Allowed parameters are
TransactionID — Unique transaction ID transferred
Amount — Amount transferred from wallet to wallet
Fee — Fee amount of the transaction
TotalAmount - Total amount including fees

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Fund/TransferFundWallettoWallet

{
  "TransferFundWallettoWallet": {
    "Request": {
        "IssuerAccountNumber": "SPN Issuer Account Number",
        "FromAccountNumber":"SPN/PAT Issuer Account Number",
        "FromWalletID":"SPN/PAT Wallet ID",
        "ToAccountNumber":"SPN/PAT Issuer Account Number",
        "ToWalletID":"SPN/PAT Wallet ID",
        "Currency": "Currency Code",
        "Amount": "Amount",        
        "OTP": "six digit integer" 
      }
    }
  }
						

Sample Response:


{
	"TransferFundWallettoWalletResponse": {
		"TransferFundWallettoWalletResult": {
			"TransactionID": "30569",
			"Amount": "$10.00 USD",
			"Fee": "$1.20 USD",
			"TotalAmount": "$11.20 USD",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Digital Gift Cards

Fetch Digital Gift Cards

This allows to get the list of digital gift cards supported by XTRM. The list has a unique SKU which is used as input to the userwithdrawfund API call. Digital Gift Card is added as an additional withdraw fund method for the user.

post/API/v4/GiftCard/GetDigitalGiftCards

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Currencystring

String length: 3

Paginationint

Specifies pagination information to limit the number of records to return. Allowed parameters are: RecordsToSkip—Number of records to skip. RecordsToTake—Number of records to return.

Reponse Parameters

Get Gift Card Responsestring

Returned if successful. Allowed parameters are
brandName—Brand name of the digital gift card
imageUrls—Image urls of the digital gift card in 4 different sizes
description— Long description of the digital gift card
disclaimer— Disclaimer
shortDescription— Short description of the digital gift card
terms— Terms and conditions
items— Array of item details
sku— Unique ID of the digial gift card. This will be used in the 'UserWithdrawFund' api call
rewardName— Name of the gift card
currencyCode— Currency of the gift card
status— Status of availability of the gift card
valueType— Values could be FIXED_VALUE or VARIABLE_VALUE
rewardType— Value is Gift Card.
maxValue— Used when the gift card value type is VARIABLE_VALUE
minValue— Used when the gift card value type is VARIABLE_VALUE
faceValue— Used when the gift card value type is FIXED_VALUE
countries— List of supported countries.

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/GiftCard/GetDigitalGiftCards

{
  "GetGiftCards": {
    "Request": {
        "IssuerAccountNumber": "SPN15111156",
        "Currency": "USD" ,
         "Pagination": {
            "RecordsToSkip": "1",
            "RecordsToTake": "20"
          }
      }
    }
  }
						

Sample Response:


{
	"GetGiftCardResponse": {
		"GetGiftCardResult": {
			"GiftCard": [
				{
					"brandName": "1-800-FLOWERS.COM®",
					"imageUrls": [
						{
							"Img80W": "https://dwwvg90koz96l.cloudfront.net/images/brands/b276872-80w-326ppi.png",
							"Img130w": "https://dwwvg90koz96l.cloudfront.net/images/brands/b276872-130w-326ppi.png",
							"Img200W": "https://dwwvg90koz96l.cloudfront.net/images/brands/b276872-200w-326ppi.png",
							"Img300W": "https://dwwvg90koz96l.cloudfront.net/images/brands/b276872-300w-326ppi.png"
						}
					],
					"description": "
Gift-giving has never been easier with the 1-800-FLOWERS.COM® Gift Card! Browse a wide selection of fresh flowers, delicious gourmet treats and desserts, beautiful plants, stunning gift baskets and more – and then choose exactly what you want!

\r\n",
					"disclaimer": "
*1-800-FLOWERS.COM is not a sponsor of the rewards or otherwise affiliated with this company. The logos and other identifying marks attached are trademarks of and owned by each represented company and/or its affiliates.  Please visit each company's website for additional terms and conditions.

\r\n",
					"shortDescription": "
Gift-giving has never been easier with the 1-800-FLOWERS.COM® Gift Card! Browse a wide selection of fresh flowers, delicious gourmet treats and desserts, beautiful plants, stunning gift baskets and more – and then choose exactly what you want!

\r\n",
					"terms": "
You can use your eGift Card at any Cheryls® or Harry & David® retail stores and online at www.1800baskets.com, www.1800flowers.com, www.cheryls.com, www.fruitbouquets.com, www.harryanddavid.com, www.stockyards.com, www.thepopcornfactory.com and www.wolfermans.com. Acceptance of this card constitutes acceptance of these terms and conditions, which may change at any time. To view your eGift Card balance, go to http://freshgift.com/. This eGift Card does not expire.

\r\n",
					"items": [
						{
							"sku": "U935268",
							"rewardName": "1-800-FLOWERS.COM® Gift Card $10.00",
							"currencyCode": "USD",
							"status": "active",
							"valueType": "FIXED_VALUE",
							"rewardType": "gift card",
							"maxValue": 0,
							"minValue": 0,
							"faceValue": 10,
							"countries": [
								"US"
							]
						},
						{
							"sku": "U683701",
							"rewardName": "1-800-FLOWERS.COM® Gift Card $25.00",
							"currencyCode": "USD",
							"status": "active",
							"valueType": "FIXED_VALUE",
							"rewardType": "gift card",
							"maxValue": 0,
							"minValue": 0,
							"faceValue": 25,
							"countries": [
								"US"
							]
						},
						{
							"sku": "U106098",
							"rewardName": "1-800-FLOWERS.COM® Gift Card $50.00",
							"currencyCode": "USD",
							"status": "active",
							"valueType": "FIXED_VALUE",
							"rewardType": "gift card",
							"maxValue": 0,
							"minValue": 0,
							"faceValue": 50,
							"countries": [
								"US"
							]
						}
					]
				}
            ],
                                        
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Fetch User Wallet Transactions by Remitter

Fetch User Wallet Transactions by Remitter

This call allows you to get list of transactions of a specific user and remitter. Records will contain amount sent by the remitter to the user.

post/API/v4/Wallet/GetUserWalletTransactionsByRemitter

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25

RemitterAccountNostring

String length: inclusive between 1 and 25

WalletCurrencystring

String length: 3

Reponse Parameters

GetUserWalletTransactionsByRemitterResponsestring

Returned if successful List of transactions found. For each transaction the following parameters are returned:
TransactionID—Transaction ID
CompanyName—Transaction Date
ProgramName—Program Name
TransactionDate—Program Name
Description—Description
Type—Type
Amount—Amount
Currency—Currency
PaymentMethod—Payment Method

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/GetUserWalletTransactionsByRemitter

{
  "GetUserWalletTransactionsByRemitter": {
    "Request": {
      "IssuerAccountNumber": "SPN17126699",
      "UserID": "PAT18128745",
      "RemitterAccountNo": "SPN17126699",
      "WalletCurrency": "USD",
     "Pagination": {
        "RecordsToSkip": "1",
        "RecordsToTake": "10"
      }
    }
  }
}
						

Sample Response:



{
	"GetUserWalletTransactionsByRemitterResponse": {
		"GetUserWalletTransactionsByRemitterResult": {
			"Transactions": [
				{
					"TransactionID": 15690,
					"CompanyName": "MTC Performance",
					"ProgramName": "-",
					"TransactionDate": "2018-05-22T06:14:20.06",
					"Description": "Test Reverse Transactions",
					"Amount": 75,
                    "Currency": "USD",                    
					"Type": "Credit",
					"PaymentMethod": "AnyPay"
				},
				{
					"TransactionID": 5399,
					"CompanyName": "MTC Performance",
					"ProgramName": "Test Program 2",
					"TransactionDate": "2018-03-14T13:59:29.403",
					"Description": "Reward ID 373255",
					"Amount": 5,
                    "Currency": "USD",    
					"Type": "Credit",
					"PaymentMethod": "AnyPay"
				}
			],
			"OperationStatus": {
				"Success": true,
				"Errors": null
			},
			"PaginationTotal": {
				"RecordsToSkip": 1,
				"RecordsToTake": 10,
				"RecordsTotal": 2
			}
		}
	}
}

						

Create Bank Beneficiary

Create Bank Beneficiary

A structure that contains the information needed to create a new beneficiary template.

post/API/v4/Bank/LinkBankBeneficiary

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

UserIDstring

String length: inclusive between 1 and 25
If you are create bank beneficiary for a user PATXXXX. If you are creating bank beneficiary for a company use SPNXXXX.

Beneficiary Details

ContactNamestring

String length: inclusive between 1 and 100

PhoneNumberstring

String length: inclusive between 1 and 15

AddressLine1string

String length: inclusive between 1 and 35

AddressLine2string

String length: inclusive between 1 and 35

Citystring

String length: inclusive between 1 and 20

Regionstring

String length: inclusive between 1 and 30

PostalCodestring

String length: inclusive between 1 and 20

Regionstring

String length: inclusive between 1 and 30

CountryISO2string

String length: 2

Beneficiary Bank Information

InstitutionNamestring

String length: inclusive between 1 and 50

WithdrawTypestring

String length: inclusive between 1 and 4

Currencystring

String length: inclusive between 1 and 3

SWIFTBICstring

String length: inclusive between 1 and 12

AccountNumberstring

String length: inclusive between 1 and 50

RoutingNumberstring

String length: inclusive between 1 and 15

CountryISO2string

String length: 2

RemittanceLine3string

String length: inclusive between 1 and 50.

RemittanceLine4string

String length: inclusive between 1 and 50

Response Parameters

BeneficiaryIdstring

Returned if successful Unique identifier of the beneficiary that was created.

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Use Case 1 – Routing Code & Account Number

This use case outlines a flow for a beneficiary in which the BankCountryCode and BeneficiaryCountryCode correspond to the ‘home’ country of the Currency.
E.G. USD sent to The United States, GBP sent to Great Britain, etc.

Five (5) key pieces of data are collected from the user. This determines what else is needed to complete the link bank.

BANKACCOUNTNUMBER

BANKCOUNTRYCODE

BENEFICIARYCOUNTRYCODE

BENEFICIARYNAME

CURRENCY

Sample Request: STEP 1

sandbox.xapi.xtrm.com/API/v4/Bank/LinkBankBeneficiary

 {  
  "LinkBankBeneficiary":{  
    "request":{  
      "IssuerAccountNumber":"SPN15111156",
      "UserID":"PAT19134545",
      "Beneficiary":{  
        "BeneficiaryDetails":{  
          "BeneficiaryInformation":{  
            "ContactName":"Senthil V",
            "PhoneNumber":"Kumar M",
            "AddressLine1":"9 Laural court",
            "AddressLine2":"",
            "City":"Belmont",
            "Region":"California",
            "PostalCode":"99933",
            "CountryISO2":"US"
          }
        },
        "BankDetails":{  
          "BeneficiaryBankInformation":{  
            "InstitutionName":"Bank of America",
            "WithdrawType":"WIRE",
            "Currency":"USD",
            "SWIFTBIC":"",
            "AccountNumber":"23224242423",
            "RoutingNumber":"",
            "CountryISO2":"US",
            "RemittanceLine3":"",
            "RemittanceLine4":""
          }
        }
      }
    }
  }
}
						

Sample Response:


{
	"LinkBankBeneficiaryResponse": {
		"LinkBankBeneficiaryResult": {
			"BeneficiaryId": null,
			"BankBeneficiaryStatus": null,
			"AccountIdentityLevel": null,
			"OperationStatus": {
				"Errors": [
					{
						"ErrorMessage": "BankRoutingCode / NationalID is required.",
						"FieldName": "RoutingNumber",
						"FieldLabel": "Routing Number"
					}
				],
				"Success": false
			}
		}
	}
}
						

‘Routingnumber’ is added in this call (in addition to previously submitted data per response).

Sample Request: STEP 2

sandbox.xapi.xtrm.com/API/v4/Bank/LinkBankBeneficiary

 {  
  "LinkBankBeneficiary":{  
    "request":{  
      "IssuerAccountNumber":"SPN15111156",
      "UserID":"PAT19134545",
      "Beneficiary":{  
        "BeneficiaryDetails":{  
          "BeneficiaryInformation":{  
            "ContactName":"Senthil V",
            "PhoneNumber":"Kumar M",
            "AddressLine1":"9 Laural court",
            "AddressLine2":"",
            "City":"Belmont",
            "Region":"California",
            "PostalCode":"99933",
            "CountryISO2":"US"
          }
        },
        "BankDetails":{  
          "BeneficiaryBankInformation":{  
            "InstitutionName":"Bank of America",
            "WithdrawType":"WIRE",
            "Currency":"USD",
            "SWIFTBIC":"",
            "AccountNumber":"23224242423",
            "RoutingNumber":"026009593",
            "CountryISO2":"US",
            "RemittanceLine3":"",
            "RemittanceLine4":""
          }
        }
      }
    }
  }
}
						

Sample Response:


{
	"LinkBankBeneficiaryResponse": {
		"LinkBankBeneficiaryResult": {
			"BeneficiaryId": "4e93b310148f4c7b934f25f61b8681b0",
			"BankBeneficiaryStatus": "Pending",
			"AccountIdentityLevel": "Pending",
			"OperationStatus": {
				"Errors": null,
				"Success": true
			}
		}
	}
}
						

Use Case 2 – SWIFTBIC & IBAN

This use case outlines a flow for a beneficiary in which the BankCountryCode and BeneficiaryCountryCode do not correspond to the ‘home’ country of the Currency. E.G. GBP sent to The United States, USD sent to Great Britain, etc.

Five (5) key pieces of data are collected from the user. This determines what else is needed to complete the link bank.

BANKACCOUNTNUMBER

BANKCOUNTRYCODE

BENEFICIARYCOUNTRYCODE

BENEFICIARYNAME

CURRENCY

Sample Request: STEP 1

sandbox.xapi.xtrm.com/API/v4/Bank/LinkBankBeneficiary

 {  
  "LinkBankBeneficiary":{  
    "request":{  
      "IssuerAccountNumber":"SPN15111156",
      "UserID":"PAT19134545",
      "Beneficiary":{  
        "BeneficiaryDetails":{  
          "BeneficiaryInformation":{  
            "ContactName":"Senthil V",
            "PhoneNumber":"Kumar M",
            "AddressLine1":"9 Laural court",
            "AddressLine2":"",
            "City":"Belmont",
            "Region":"California",
            "PostalCode":"99933",
            "CountryISO2":"US"
          }
        },
        "BankDetails":{  
          "BeneficiaryBankInformation":{  
            "InstitutionName":"Royal Bank of Scotland",
            "WithdrawType":"WIRE",
            "Currency":"GBP",
            "SWIFTBIC":"",
            "AccountNumber":"GB62RBOS83211600636614",
            "RoutingNumber":"",
            "CountryISO2":"GB",
            "RemittanceLine3":"",
            "RemittanceLine4":""
          }
        }
      }
    }
  }
}
						

Sample Response:


{
	"LinkBankBeneficiaryResponse": {
		"LinkBankBeneficiaryResult": {
			"BeneficiaryId": null,
			"BankBeneficiaryStatus": null,
			"AccountIdentityLevel": null,
			"OperationStatus": {
				"Errors": [
					{
						"ErrorMessage": "Beneficiary SWIFT BIC is required.",
						"FieldName": "SWIFTBIC",
						"FieldLabel": "SWIFTBIC"
					}
				],
				"Success": false
			}
		}
	}
}
						

‘SWIFTBIC’ is added in this call (in addition to previously submitted data per response).

Sample Request: STEP 2

sandbox.xapi.xtrm.com/API/v4/Bank/LinkBankBeneficiary

 {  
  "LinkBankBeneficiary":{  
    "request":{  
      "IssuerAccountNumber":"SPN15111156",
      "UserID":"PAT19134545",
      "Beneficiary":{  
        "BeneficiaryDetails":{  
          "BeneficiaryInformation":{  
            "ContactName":"Senthil V",
            "PhoneNumber":"Kumar M",
            "AddressLine1":"9 Laural court",
            "AddressLine2":"",
            "City":"Belmont",
            "Region":"California",
            "PostalCode":"99933",
            "CountryISO2":"US"
          }
        },
        "BankDetails":{  
          "BeneficiaryBankInformation":{  
            "InstitutionName":"Royal Bank of Scotland",
            "WithdrawType":"WIRE",
            "Currency":"GBP",
            "SWIFTBIC":"RBOSGB2L",
            "AccountNumber":"GB62RBOS83211600636614",
            "RoutingNumber":"",
            "CountryISO2":"GB",
            "RemittanceLine3":"",
            "RemittanceLine4":""
          }
        }
      }
    }
  }
}
						

Sample Response:


{
	"LinkBankBeneficiaryResponse": {
		"LinkBankBeneficiaryResult": {
			"BeneficiaryId": "4e93b310148f4c7b934f25f61b8681b0",
			"BankBeneficiaryStatus": "Pending",
			"AccountIdentityLevel": "Pending",
			"OperationStatus": {
				"Errors": null,
				"Success": true
			}
		}
	}
}
						

Use Case 3 – Exotic Currency Requirements

Some exotic currencies will require currency specific information in order to remit funds. Recommended Implementation: Display any special remittance information required on step 2 as you collect BankAccountNumber,BankRoutingNumber or BankSWIFTBIC.

Five (5) key pieces of data are collected from the user. This determines what else is needed to complete the link bank.

BANKACCOUNTNUMBER

BANKCOUNTRYCODE

BENEFICIARYCOUNTRYCODE

BENEFICIARYNAME

CURRENCY

Sample Request: STEP 1

sandbox.xapi.xtrm.com/API/v4/Bank/LinkBankBeneficiary

 {  
  "LinkBankBeneficiary":{  
    "request":{  
      "IssuerAccountNumber":"SPN15111156",
      "UserID":"PAT19134545",
      "Beneficiary":{  
        "BeneficiaryDetails":{  
          "BeneficiaryInformation":{  
            "ContactName":"Senthil V",
            "PhoneNumber":"Kumar M",
            "AddressLine1":"9 Laural court",
            "AddressLine2":"",
            "City":"City",
            "Region":"Region",
            "PostalCode":"99933",
            "CountryISO2":"BR"
          }
        },
        "BankDetails":{  
          "BeneficiaryBankInformation":{  
            "InstitutionName":"Brazil Bank",
            "WithdrawType":"WIRE",
            "Currency":"BRL",
            "SWIFTBIC":"",
            "AccountNumber":"BR97 0036 0305 0000 1000 9795 493P 1",
            "RoutingNumber":"",
            "CountryISO2":"BR",
            "RemittanceLine3":"",
            "RemittanceLine4":""
          }
        }
      }
    }
  }
}
						

Sample Response:


{
	"LinkBankBeneficiaryResponse": {
		"LinkBankBeneficiaryResult": {
			"BeneficiaryId": null,
			"BankBeneficiaryStatus": null,
			"AccountIdentityLevel": null,
			"OperationStatus": {
				"Errors": [
					{
						"ErrorMessage": "Remittance Line 3 is required.",
						"FieldName": "RemittanceLine3",
						"FieldLabel": "Recipient Name and Phone Number"
					},
					{
						"ErrorMessage": "Remittance Line 4 is required.",
						"FieldName": "RemittanceLine4",
						"FieldLabel": "Tax ID Number"
					},
					{
						"ErrorMessage": "Beneficiary SWIFT BIC is required.",
						"FieldName": "SWIFTBIC",
						"FieldLabel": "SWIFTBIC"
					}
				],
				"Success": false
			}
		}
	}
}
						

‘RemittanceLine3’,‘RemittanceLine4’,‘SWIFTBIC’ is added in this call (in addition to previously submitted data per response).

Sample Request: STEP 2

sandbox.xapi.xtrm.com/API/v4/Bank/LinkBankBeneficiary

 {  
  "LinkBankBeneficiary":{  
    "request":{  
      "IssuerAccountNumber":"SPN15111156",
      "UserID":"PAT19134545",
      "Beneficiary":{  
        "BeneficiaryDetails":{  
          "BeneficiaryInformation":{  
            "ContactName":"Senthil V",
            "PhoneNumber":"Kumar M",
            "AddressLine1":"9 Laural court",
            "AddressLine2":"",
            "City":"City",
            "Region":"Region",
            "PostalCode":"99933",
            "CountryISO2":"BR"
          }
        },
        "BankDetails":{  
          "BeneficiaryBankInformation":{  
            "InstitutionName":"Brazil Bank",
            "WithdrawType":"WIRE",
            "Currency":"BRL",
            "SWIFTBIC":"BRASBRRJXXX",
            "AccountNumber":"BR97 0036 0305 0000 1000 9795 493P 1",
            "RoutingNumber":"",
            "CountryISO2":"BR",
            "RemittanceLine3":"Contact Name and Phone",
            "RemittanceLine4":"Corporate Tax, Brand code"
          }
        }
      }
    }
  }
}
						

Sample Response:


{
	"LinkBankBeneficiaryResponse": {
		"LinkBankBeneficiaryResult": {
			"BeneficiaryId": "4e93b310148f4c7b934f25f61b8681b0",
			"BankBeneficiaryStatus": "Pending",
			"AccountIdentityLevel": "Pending",
			"OperationStatus": {
				"Errors": null,
				"Success": true
			}
		}
	}
}
						

Fund User Wallet Using Credit Card

Fund User Wallet Using Credit Card

This call allows companies to allow their connected users to fund thier wallets using their credit card. Please contact support@xtrm.com to enable this API call.

post/API/v4/Wallet/FundUserWalletUsingCreditCard

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

Amountdecimal

Decimal length: inclusive between 1 and 25

CurrencyCodestring

String length: 3

WalletIDint

int length: inclusive between 1 and 10. Use 'GetUserWallets' to get WalletID.

PayerInformation

FirstNamestring

String length: inclusive between 1 and 50

LastNamestring

String length: inclusive between 1 and 50

PayerBillingAddress

Address1string

String length: inclusive between 1 and 200

Citystring

String length: inclusive between 1 and 25

Statestring

String length: inclusive between 1 and 25

CountryISO2string

String length: 2

PostalCodestring

String length: inclusive between 1 and 15

CreditCardDetails

ExpireMonthint

int length: 2

ExpireYearint

int length: 4

CreditCardNumberint

int length: inclusive between 13 and 16

CreditCardTypestring

String length: inclusive between 1 and 25

CVVint

int length: 4
enter a number such as, 111, 123 or 1234

Reponse Parameters

FundUserWalletUsingCreditCardResultstring

Returned if successful List of fields for a transaction. For each transaction the following parameters are returned:
TransactionID—Transaction ID
Amount—Amount
Fee—Fee
TotalAmount—Total Amount

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/Wallet/FundUserWalletUsingCreditCard

{
  "FundUserWalletUsingCreditCardRequest": {
    "Request": {
      "PaymentDetails": {
        "IssuerAccountNumber": "SPN Issuer Account Number",
        "AccountNumber": "PAT Account Number",
        "Amount": "Amount",
        "CurrencyCode": "Currency Code",
        "UserWalletID": "User Wallet ID"
      },
      "PayerInformation": {
        "FirstName": "First Name",
        "LastName": "Last Name"
      },
      "PayerBillingAddress":{
       "Address1":"Address 1",
       "City":"City",
       "State":"State",
       "CountryISO2":"Country Code",
       "PostalCode":"Postal Code"
      },
      "CreditCardDetails":{
       "ExpireMonth":"Expire Month",
       "ExpireYear":"Expire Year",
       "CreditCardNumber":"Credit Card Number",
       "CreditCardType":"Visa Card/Master Card/Amex Card",
       "CVV":"CVV"
      }
       
      }
    }
  }			

Sample Response:


{
	"FundUserWalletUsingCreditCardResponse": {
		"FundUserWalletUsingCreditCardResult": {
			"TransactionID": "208929373U0344516",
			"Amount": "100.00",
			"Fee": "3.00",
			"TotalAmount": "103.00",
			"Currency": "USD",
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}
						

Digital Gift Cards

Fetch Digital Gift Card Details

This allows to get the details of a selected digital gift card supported by XTRM.

post/API/v4/GiftCard/GetGiftCardDetails

Header Parameters

Authorizationstring

bearer access_token

Content-typestring

application/json

Request Parameters

IssuerAccountNumberstring

String length: inclusive between 1 and 25

SKUstring

String length: 3

Reponse Parameters

Get Gift Card Details Responsestring

Returned if successful. Allowed parameters are
brandName—Brand name of the digital gift card
imageUrls—Image urls of the digital gift card in 4 different sizes
description— Long description of the digital gift card
disclaimer— Disclaimer
shortDescription— Short description of the digital gift card
terms— Terms and conditions
items— Array of item details
sku— Unique ID of the digial gift card. This will be used in the 'UserWithdrawFund' api call
rewardName— Name of the gift card
currencyCode— Currency of the gift card
status— Status of availability of the gift card
valueType— Values could be FIXED_VALUE or VARIABLE_VALUE
rewardType— Value is Gift Card.
maxValue— Used when the gift card value type is VARIABLE_VALUE
minValue— Used when the gift card value type is VARIABLE_VALUE
faceValue— Used when the gift card value type is FIXED_VALUE
countries— List of supported countries.

OperationStatusstring

Always returned Indicates the status of the operation. Allowed parameters are:
Errors - Displays an error message if the Property name Obligation Definition/value operation was unsuccessful. For more information, see API Error Message Appendix.
Success—Indicates whether the operation was successful. Returns True if the action was successful or False if it was not successful.

Sample Request:

sandbox.xapi.xtrm.com/API/v4/GiftCard/GetGiftCardDetails

{
  "GetGiftCards": {
    "Request": {
        "IssuerAccountNumber": "SPN Issuer Account Number",
        "SKU": "SKU ID"
      }
    }
  }
						

Sample Response:


{
	"GetGiftCardResponse": {
		"GetGiftCardDetailsResult": {
			"GiftCardDetail": {
				"brandName": "1-800-FLOWERS.COM®",
				"imageUrls": [
					{
						"Img80W": " https://dwwvg90koz96l.cloudfront.net/images/brands/b276872-80w-326ppi.png",
						"Img130w": " https://dwwvg90koz96l.cloudfront.net/images/brands/b276872-130w-326ppi.png",
						"Img200W": " https://dwwvg90koz96l.cloudfront.net/images/brands/b276872-200w-326ppi.png",
						"Img300W": " https://dwwvg90koz96l.cloudfront.net/images/brands/b276872-300w-326ppi.png"
					}
				],
				"description": "
Gift-giving has never been easier with the 1-800-FLOWERS.COM® Gift Card! Browse a wide selection of fresh flowers, delicious gourmet treats and desserts, beautiful plants, stunning gift baskets and more – and then choose exactly what you want!

\n",
				"disclaimer": "
*1-800-FLOWERS.COM is not a sponsor of the rewards or otherwise affiliated with this company. The logos and other identifying marks attached are trademarks of and owned by each represented company and/or its affiliates.  Please visit each company's website for additional terms and conditions.

\n",
				"shortDescription": "
Gift-giving has never been easier with the 1-800-FLOWERS.COM® Gift Card! Browse a wide selection of fresh flowers, delicious gourmet treats and desserts, beautiful plants, stunning gift baskets and more – and then choose exactly what you want!

\n",
				"terms": "
You can use your eGift Card at any Cheryls® or Harry & David® retail stores and online at www.1800baskets.com, www.1800flowers.com, www.cheryls.com, www.fruitbouquets.com, www.harryanddavid.com, www.stockyards.com, www.thepopcornfactory.com and www.wolfermans.com. Acceptance of this card constitutes acceptance of these terms and conditions, which may change at any time. To view your eGift Card balance, go to http://freshgift.com/. This eGift Card does not expire.

\n",
				"items": [
					{
						"sku": "U683701",
						"rewardName": "1-800-FLOWERS.COM® Gift Card $25.00",
						"currencyCode": "USD",
						"status": "Active",
						"valueType": "FIXED_VALUE",
						"rewardType": "gift card",
						"maxValue": 0,
						"minValue": 0,
						"faceValue": 25
					}
				]
			},
			"OperationStatus": {
				"Success": true,
				"Errors": null
			}
		}
	}
}