Send Money Claimless
Claimless payment flow enables payments to be deposited directly into the receiver's bank account, without the need to open an email or activate a Veem account with a password, as opposed to the normal Send Money Flow.
Claimless payment rules
Payer is in in the United States and in an MTL State (Territories like Puerto Rico are also excluded) OR Canada
All Payee countries and payment types are eligible, except for Individual CNY recipients in China.
All Payee's info must be provided - bank info( Bank account number, routing number etc), contact info( First name, Last name, phone number etc), business info (business name, tax ID, industry, .etc) AND Payee is not a Sanctions-Match.
Each country has its own bank requirements (as well as currency codes), we have a service that lets us know about bank parameters, acceptance currency and other stuffs.
POST https://sandbox-api.veem.com/veem/public/v1.2/country-currency-map?bankFields=true
Headers
- X-request-id: For example 48855846-628d-4177-b071-80332a116f0a
- Authorization: Bearer : Authorization token that belongs to the account created, example Bearer d49e7fd4-2600-4dd4-a572-118668febbe7
Notes:
X-Request-id can be any string, but it must be unique for each different transaction you do using the same account. We recommend generating this value as a GUID, and save it for reference. You cannot create two different payments using the same X-Request-Id value, if you try it, you simple get the date for the first payment created using that value.
[
...
{
"country": "CA",
"countryName": "Canada",
"sendingCurrencies": [
"CAD",
"USD"
],
"receivingCurrencies": [
"CAD",
"USD"
],
"purposeOfPaymentRequired": true,
"invoiceAttachmentRequired": false,
"bankFields": [
"isoCountryCode",
"currencyCode",
"bankName",
"bankAccountNumber",
"swiftBic",
"transitCode",
"bankInstitutionNumber"
],
"purposeOfPaymentDescriptionRequired": true
},
{
"country": "CL",
"countryName": "Chile",
"sendingCurrencies": [
"USD"
],
"receivingCurrencies": [
"CLP",
"USD"
],
"purposeOfPaymentRequired": true,
"invoiceAttachmentRequired": false,
"bankFields": [
"beneficiaryName",
"isoCountryCode",
"currencyCode",
"bankName",
"bankAccountNumber",
"swiftBic"
],
"purposeOfPaymentInfo": [
{
"countryCode": "CL",
"purposeCode": "Charitable Donation",
"description": "Charitable Donation",
"industry": null,
"subindustry": null
},
{
"countryCode": "CL",
"purposeCode": "Goods",
"description": "Goods",
"industry": null,
"subindustry": null
},
{
"countryCode": "CL",
"purposeCode": "Services",
"description": "Services",
"industry": null,
"subindustry": null
},
{
"countryCode": "CL",
"purposeCode": "Personal",
"description": "Personal",
"industry": null,
"subindustry": null
}
],
"purposeOfPaymentDescriptionRequired": true
}
...
]
On the above payload, we have bankFields
, sendingCurrencies
, receivingCurrencies
, and purposeOfPaymentInfo
. Those parameters vary based on country.
Send Money from US or Canada to any of the supported countries
If the payer belongs to USA or Canada and the payee belongs to a supported country, then the only client call that should be made is claimless-payment. For example:
POST https://sandbox-api.veem.com/veem/v1.2/claimless-payments
Headers
- X-request-id: For example 48855846-628d-4177-b071-80332a116f0a
- Authorization: Bearer : Authorization token that belongs to the account created, example Bearer d49e7fd4-2600-4dd4-a572-118668febbe7
{
"payee": {
"bank": {
"iban": "1234567890",
"bankName": "CM - CIC BANQUES",
"swiftBic": "CMCIFRPPXXX",
"currencyCode": "EUR",
"isoCountryCode": "FR"
},
"type": "Business",
"email": "[email protected]",
"phone": "123456789",
"business": {
"address": {
"city": "Gargenville",
"street": "Croissant Avenue 123",
"province": "Provice",
"postalCode": "78440",
"countryCode": "FR"
},
"taxIdNumber": "12-3456789"
},
"lastName": "Johnson",
"firstName": "Emma ",
"countryCode": "FR",
"businessName": "My Software Company",
"phoneCountryCode": "+33"
},
"amount": {
"number": 15224,
"currency": "EUR"
},
"fundingMethod": {
"id": 1234,
"type": "Credit Card"
},
"goodFundsPayment": true,
"purposeOfPayment": "Services",
"notes": "Payment details"
}
When the Veem services receive the request, the following actions are triggered:
- Payee account (Guest) is created with the provided bank information if it doesn't already exist
- Payment is created in Veem
- An email is sent to the payee
- The money is pulled from the specified funding method, this field is required.
Note: emails are sent in Sandbox env so please use test emails accounts using 3rd party provide like mailinator
Note: we use E.164 standard for phone numbers. You can use following google-library to validate your customer's phone-number before you send to Veem via API.
The response returned to the client will include all the input fields included in the request and all the important information related to the payment (currency, fee amount, rate, etc).
The payment id field can be used to fetch the status of the payment.
{
"id": 12345,
"payee": {
"email": "[email protected]",
"phone": "tel:+33-1-23-45-67-89",
"countryCode": "FR"
},
"status": "Sent",
"claimLink": "https://api.veem.com/api/c/ABCDEF",
"requestId": "e5dbaf73-38c2-4a92-bf3d-87bc65d77a9i",
"payeeAmount": {
"number": 15224,
"currency": "EUR"
},
"timeCreated": "2024-08-22T16:54:54.367-07:00",
"timeUpdated": "2024-08-22T16:54:56.024-07:00",
"exchangeRate": {
"rate": 0.883359,
"toAmount": 15224,
"fromAmount": 17234.22,
"toCurrency": "EUR",
"fromCurrency": "USD"
},
"fastTransfer": false,
"debitCreditTxn": {
"debitTxn": null,
"creditTxn": null
},
"feeInformation": {
"payeeInfo": {
"currency": "EUR",
"feeAmount": 0,
"totalAmount": 15224,
"originalAmount": 15224
},
"payerInfo": {
"fees": [
{
"name": "FX Markup",
"rate": 0.018
},
{
"name": "FX Marked Up",
"rate": 0.883359
}
],
"currency": "USD",
"feeAmount": 2010.22,
"totalAmount": 17234.22,
"originalAmount": 15224
}
},
"goodFundsPayment": true
}
Individual Accounts
The payee.type
must be Personal
.
The payee.business.entity
must be one of the following:
- Contractor
- SoleProprietorship
- PersonalUse
- Freelancer
- SideProject
The dateOfBirth
must be provided for individuals (is optional for business).
The taxIdNumber
usually follows the country pattern. The value sent will be validated against our pre-added format. You can find the current validation in our Country Currency Map API.
Updated 24 days ago