Submitting RFIs
For situations when Verto needs additional information about a transaction before proceeding, we will send you a webhook notification requesting for further information. You can then proceed to provide the additional information required.
This will be the flow:
- Verto sends a webhook notification informing you that additional information is required.
- Submit the required information and documents (invoice).
- Confirm document submission.
Request for additional information (RFI) webhook notification
Once additional information is required, you will get a webhook notification with the subState = rfi_required.
{
"payload": {
"id": 47987,
"amount": "234017.00",
"reference": "TO-12022025-4367",
"state": "requested",
"subState": "rfi_required",
"currency": "NGN",
"paymentId": null,
"type": "iban_to_wallet",
"account": {
"id": 44197,
"accountNumber": "12345678919",
"bankName": null,
"beneficiaryAddress": null,
"beneficiaryCity": null,
"beneficiaryCompanyName": "Test",
"beneficiaryCountryCode": null,
"beneficiaryEntityType": "company",
"beneficiaryPostcode": null,
"beneficiaryEmail": null,
"country": null,
"reference": "RP-12022025-406",
"beneficiaryFirstName": null,
"beneficiaryLastName": null,
"nationalId": "ACCTY67",
"currency": "NGN",
"clientReference": null,
"status": "approved"
},
"walletId": 28993,
"clientReference": "null:testsubmorning2:Test:12345678919:ACCTY67",
"bankingPartner": "Paga",
"receivingAccount": "9079135413",
"createdDate": "2025-02-12T06:23:55.000Z",
"completedDate": null,
"archivedDate": null,
"companyId": "4574"
}
}
You should then proceed to submit the required information.
The subState = null when no RFI is required.
Submit additional information with documents
You can then proceed to submit additional information using the transaction reference of the transaction you got the notification for.
For now only businesses are supported, support for individuals will be rolled out soon.
POST - https://api-payment-sandbox.vertofx.com/payments/{:TO-reference}/documents
{
"fileName": "test.png",
"rfiData": {
"paymentPurposeId": 27,
"senderData": {
"companyEstablishmentDate": "1999-12-22",
"companyAddress": {
"addressLine1": "KILLER QUEEN st",
"city": "PUNE",
"state": "MH",
"country": "India",
"postCode": "330004"
},
"companyCountryOfTax": "India",
"companyIncorporationNumber": "wjkebr5k32jb4k"
}
}
}{
"link": "string", // An unique link valid for 10 minutes on which will be used to upload the file using the supported formats
"key": "string" // An unique key that can used in subsequent API calls to link to the uploaded supporting document.
}
{
"link": "https://s3.eu-central-1.amazonaws.com/private-dev-files.vertofx.dev/p2/client-uploads/payments/1201/rfi_documents/TO-18112025-B4193/test.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIA5QQC6I6LF6KGYDIF%2F20251118%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20251118T153749Z&X-Amz-Expires=600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAAaDGV1LWNlbnRyYWwtMSJHMEUCIHXsOPzwwTOU%2FJxCC01xSCHu5cA64MGC8xgUn%2FA04WB%2FAiEA%2FGog2cJypihxwfxRtqE1j7kjHA983BBvGRYMuT2RrgkqmQMIyf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARABGgw5Mjg3OTI4NTY0NzAiDOG0h%2FZTyX79hGmkQCrtArKPySwjZoiPh1Zt8baMgmH0mq5Q4b9%2FzRy8%2FK97tykUObSs9%2FK6p6EPpB%2BjTFxgQN8754bezpSp4jfovdD8j7%2FFMEcH%2Fr4LdUpOfWoLvq9oXxLqZ2%2BLO4TEYrhRzLK1OxVXAK3egY4WCswJX7XLBn1To9SZWiSg6Ee6sNntf6fzjnhoPCCUgsHh60sMJT%2Byz6HJV%2FGO90qvRt4JV8LDz%2F2UwHMfRFNAqiFAmhknEbU%2Bkt93TvyBN32N0%2Fawj5vnxE35ba4nsFypfO5pHGOp7FIRjJBYWKd1niDfm9mYf7HVqzlEgRrFwXllXrix%2FsKkwxKUHXLVxb2lAuSHOwdTlSTC0pAjF9IHvu0yoPVAzKCxyvnASinI5iVaeswR4kskyQoNICdZjNefwrSByuK4rOnCUCYhFYY%2FeLoK6%2FHaMvOKbbgtOx%2BGSavfcS7kggwUGxJzmrJx%2BjtVwEmAv3swtwjScPsDvgXz1IL0TRqKMMil8sgGOp0Bdia7Gc14mOdDncbi8cOi2i0rwvZMVJR9xWjI62qwTqC0nEZw8%2BanF4RDjVrjwbnk2FEH5YTz3NSP7dZM0Daewb09Eda4gAUnJaEqOJPny2Ahs6JKh4tEGGtz79w%2B5DroJeFnHxqyTCvPqQ8%2Ft70IjeRGGWH6RbR6zZvpna9UdVRvhjfaUmQA6Asp%2FZydGZs%2FASBJTN%2FEIzbQAvY01A%3D%3D&X-Amz-Signature=8fb0311706c547c3bc34d8e0d7578bf1d4fbd841bba4ffc47db5488db1f1001a&X-Amz-SignedHeaders=host&x-amz-checksum-crc32=AAAAAA%3D%3D&x-amz-sdk-checksum-algorithm=CRC32&x-id=PutObject",
"key": "p2/client-uploads/payments/1201/rfi_documents/TO-18112025-B4193/test.png"
}| Request data | Definition | Comment |
|---|---|---|
| fileName | The name of the document you’re uploading | Required |
| rfiData.paymentPurpose | The purpose of payment. You can get all the purposes here. | Required |
| rfiData.senderData.companyEstablishmentDate | The date of creation of the sending company | Optional |
| rfiData.senderData.companyAddress | The address of the sending company | Optional |
| rfiData.companyCountryOfTax | The country of tax of the sending company | Optional |
| rfiData.companyIncorporationNumber | The incorporation number of the sending company | Optional |
Notes
- You don’t need to resubmit the company information for a sender who has sent funds previously.
- Uploading multiple documents per payment is supported.
- Newly provided information for a payment will update previously supplied information.
Confirm document submission
You can then proceed to use the link in the submit document API response to submit the document/invoice.
PUT <link>
Once the submission is successful, you will receive a webhook with subState = rfi_accepted. The goal of this notification is to inform you that the details submitted have been accepted.
Notes
- Supported formats: PDF, JPG, PNG and JPEG.
- We will reach out to you via email for information/documents that need resubmission.
Managing transaction status
There may be situations where you get state = completed while subState = rfi_required, please only proceed to provide your customer value when state = completedand subState = rfi_accepted.
Updated 6 months ago
