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

  1. The Payer (sender of funds) is:
    1. in in the United States and in an MTL State (i.e. not in Territories like Puerto Rico).
    2. or in Canada.
  2. The Payee is:
    1. in any country we support. See Country Currency Map for country listing and information.
    2. and payment types are eligible, except for Individual CNY recipients in China.
  3. All of the Payee's information must be provided
    1. bank (Bank account number, routing number etc) information
    2. contact (First name, Last name, phone number, etc) information
    3. business (business name, tax ID, industry, etc) information
    4. see the API claimless-payment-controller for exact details

A note explaining the headers needed to be sent with the request:

Headers

  • X-request-id: For example 48855846-628d-4177-b071-80332a116f0a
  • Authorization: Bearer bearerToken

bearerToken is the Authorization token that belongs to the account created

i.e. Bearer d49e7fd4-2600-4dd4-a572-118668febbe7

see this section to generate your bearerToken

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:

  1. make sure you get a payment method so you can pick the id and type with which you want to send the payment.
    1. if you do not have a payment method, you can add a bank addBankAccount.
  2. 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:

  1. The payee account (Guest) is created with the provided bank information if it doesn't already exist
  2. The payment is created in Veem
  3. An email is sent to the payee
  4. 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