Additional Sender Data and Document Upload

This guide outlines the process for providing additional underlying sender data during exchange order creation and for uploading supporting documents, which can then be attached to your transactions.

Sender Information Structure

When creating an exchange order, you can now pass detailed information about the underlying sender. This data is crucial for compliance and screening obligations.

Sender Information Structure

The sender object can represent either a company (business) or an individual.

A. For a Company (Business) Sender

If the sender is a business, use the following structure within your exchange order creation request:

Sample is below:

"sender": {
    "country": "NG",
    "type": "company",
    "name": "Suit Country",
    "customerIdentificationNumber": "45jtjy",
    "accountNumber": "1234567890",
    "address_line_1": "house street",
    "address_line_2": "house street",
    "address_city": "London",
    "origination_country": "US",
    "zip_code": "83888",
    "registration_country": "NG",
    "companyRegistrationNumber": "7575788",
    "sub_category": "Baby products"
}

Field Name

Description

Comment

Mandatory/Optional

country

Country of the origin of funds (origination country)

Mandatory

type

The type of underlying sender. individual or company

For corporates

Mandatory

name

The name of the underlying sender

For corporate use cases, this must be the legal registered name

Mandatory

customerIdentificationNumber

The customer identification number on your system


Either customerIdentificationNumber or accountNumber

accountNumber

The customer account number on your system


Either customerIdentificationNumber or accountNumber

address Line 1

Complete sender address line (street, house number, building, apartment number etc.)

Mandatory

address Line 2

Complete sender address line (street, house number, building, apartment number etc.)

Mandatory

address_city

Underlying sender address city

Mandatory

origination_country

Country of transfer initiation

Mandatory

zipCode

Sender's business address ZIP code

Mandatory

registration_country

Sender's business country of registration

Mandatory

companyRegistrationNumber

Sender's business registration number

Conditional based on use case, check with your account manager.

sub-category

Sender industry

List

Conditional based on use case, check with your account manager.


B. For an Individual Sender

"sender": {
    "country": "NG",
    "type": "individual",
    "name": "John Suit",
    "dob": "1990-03-15",
    "customerIdentificationNumber": "45jtjy",
    "accountNumber": "1234567890",
    "address Line 1": "house street",
    "address Line 2": "house street",
    "nationality": "NG",
    "address_city": "London",
    "origination_country": "US",
    "zipCode": "83888"
}

Field NameDescriptionCommentMandatory/Optional
countryRegistered country of the clients addressMandatory
typeThe type of underlying sender. individual or companyindividualMandatory
nameThe name of the underlying senderFor corporate use cases, this must be the legal registered nameMandatory
dobThe date of birth of the senderMandatory
customerIdentificationNumberThe customer identification number on your systemEither customerIdentificationNumber or accountNumber
accountNumberThe customer account number on your systemEither customerIdentificationNumber or accountNumber
address Line 1Complete sender address line (street, house number, building, apartment number etc.)Mandatory
address Line 2Complete sender address line (street, house number, building, apartment number etc.)Mandatory
address_cityUnderlying sender address cityMandatory
origination_countryCountry of transfer initiationMandatory
zipCodeSender's business address ZIP codeMandatory
nationalitySender’s nationalityMandatory

Supporting Document Upload

Uploading a supporting document involves a three-step process:

  • Generate an upload link.
  • Upload the document to the generated link.
  • Pass the uploaded document's unique key during transaction creation.

Step 1: Generating an Upload Link

To begin, you need to request a unique pre-signed link to upload your document.

Request: POST /documents/generate-upload-link

{
  "fileName": "name_of_your_file.pdf"
}

Field Description:

FieldDescription
fileNameThe name of the document, including its extension (e.g., Payment_receipt.png).

Response:

A successful response will provide a link for uploading and a key that identifies your document.

{
  "link": "https://your-upload-link.s3.amazonaws.com/...", // pre-signed link valid for 10 minutes
  "key": "unique-s3-key-for-your-document"                 // supportingS3Key
}

Response Field Descriptions:

FieldDescriptionComments
linkThe pre-signed upload link for your document, valid for 10 minutes.
keyA unique identifier (supportingS3Key) for your document. This key must be included when creating a payment to associate the document.This key will be used in subsequent transaction creation requests to link the uploaded document.

Step 2: Uploading the Document to the Upload Link

Once you have the upload link, you can perform a PUT request to upload your document. The request body should contain the document itself.

Request: PUT /link (where link is the URL obtained from Step 1)

// Example of the request body (the document binary data would be sent here)
{ "link": "supporting document" } // This indicates the content of the file.

A 200 OK response indicates a successful upload.

Step 3: Passing the Uploaded Document During Transaction Creation

After successfully uploading your document, you can associate it with a transaction by including the supportingDocS3Key in your payment creation request.

A. For "Make Conversion and Payout" Transactions (e.g., convertWalletPayout)

Include the supportingDocS3Key obtained from Step 1 in your request. Note that purposeId becomes mandatory if you attach a file.

{
  "paymentType": "convertWalletPayout",
  "sourceWalletId": 3529,
  "sourceAmount": 5,
  "purposeId": 14, // mandatory if attaching a file
  "vfxToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "customPaymentReference": "9dc2ee8a15cd44e5",
  "targetAccountId": 3786,
  "paymentId": "9dc2ee8a-15cd-44e5-8ba8-b757c7a3b141",
  "supportingDocS3Key": "unique-s3-key-for-your-document", // Key obtained in Step 1
  "sender": {
    // ... sender details as described in Section 1 ...
  }

B. For "Create a Payment Request (v2.2)" Transactions

Similarly, for Create a Payment Request (v2.2), include the supportingDocS3Key.

{
  "beneficiaryId": 278,
  "purposeId": 12,
  "amount": 100,
  "walletId": 1,
  "clientReference": "Testing",
  "paymentId": "a7600e0e-a973-4d26-b15c-89de5836e900",
  "supportingDocS3Key": "unique-s3-key-for-your-document" // Key obtained in Step 1
}

Response for Transaction Creation (with supportingDocS3Key):

The response for transaction creation will now include an additional field supportingDocument, which will contain a pre-signed downloadable link to view your uploaded file.

{
  // ... existing response fields ...
  "supportingDocument": "https://your-download-link.s3.amazonaws.com/..." // Pre-signed downloadable link
}