Send Money - Claimless
The Claimless payment flow enables payments to be deposited directly into the Payee's (receiver of funds) bank account, without the Payee needing to open a Veem account themselves.
Claimless payment requirements
- The Payer (sender of funds) is:
- in in the United States and in an MTL State (i.e. not in Territories like Puerto Rico).
- or in Canada.
- The Payee is:
- in any country we support. See Country Currency Map for country listing and information.
- and payment types are eligible, except for Individual CNY recipients in China.
- All of the Payee's information must be provided
- bank (Bank account number, routing number etc) information
- contact (First name, Last name, phone number, etc) information
- business (business name, tax ID, industry, etc) information
- see the API claimless-payment-controller for exact details
A note explaining the headers needed to be sent with the request:
Headers
Three headers are required to use this endpoint.
Required Headers
Name
Type
Required
Description
Authorization
stringYes
Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3See Get Access Token section to generate your Bearer token
X-Request-Id
stringYes
This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
Content-Type
stringYes
The content type of the request. Must be
application/json
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.
Send Money from US or Canada to any of the supported countries
If the payer belongs to the United States or Canada and the payee belongs to a supported country, then you should:
- make sure you get a payment method so you can pick the id and type with which you want to send the payment.
- if you do not have a payment method, you can add a bank addBankAccount.
- with payment method (funding method id and type) from above, you can proceed below and create a claimless payment with all your payee's information and bank.
POST https://sandbox-api.veem.com/veem/v1.2/claimless-payments
with example request payload
{
"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"
}
Example response:
{
"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
}
When the Veem services receive the request, the following actions are triggered:
- The payee account (Guest) is created with the provided bank information if it doesn't already exist
- The 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.
We use E.164 standard for phone numbers. You can use following google-library to validate your customer's phone number before you send it to Veem via API.
Note on Individual Accounts
The payee.typemust 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 taxIdNumberusually 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.
Payment Status Updates
To get updates on payment status updates, you can register a callback URL, and Veem will post notifications there on payment status changes. Webhooks Notification
Updated 4 days ago
