• Dashboard
  • Dashboard
Expand All Collapse All
  • Welcome
  • Introduction
  • API Access Key and Authentication
  • Nairagram Response Codes
  • Test Data
    • Test Bank Account Numbers
    • Test Data for Mobile Wallet Transfer
  • Implementing Nairagram Services
    • Bank Account Transfer Services
      • Submitting a transfer via Nairagram Payout API
      • Submitting a transfer via dashboard
      • Cancel Pending Request
    • Mobile Wallet Transfer
      • Submit Mobile Wallet Transaction
    • Cash Pick-up
      • Submit Cash Pick Up Transaction
      • Get Cash Pick-up locations
    • Client Support
      • Get Wallet by Country
      • Bank List
      • Operator Wallet Code
      • Cash Pick-up Locations
      • Webhook/Call back
      • Get Beneficiary Name
      • Get Bank List
      • Get Security Questions
      • Get Currency Rate
      • Get Country List
      • Get Balance
      • Get Transaction Status
  • User Acceptance Complete Testing (UAT)

Submitting a transfer via Nairagram Payout API

327 views 0 Updated on March 12, 2023

Use the submitTransaction endpoint to make an international transaction to bank accounts and get a transaction PIN.

Ensure that you pass the exchange rates with less than two decimal places. Also, pass only the exchange rate and destination amount for accuracy.

Provide a call-back URL that can be used to timely notify you of any change in the transaction status.

The transaction status should be queried using getTransactionStatus to get the correct status of a transaction.
All transactions return a transaction PIN regardless of the status of the transaction. Always check the message and its content for status.

If the response message states “Limit Exceeded or Company Limit Exceeded,” do not re-submit or re-process the transaction as such transaction would already have been queued up on the Nairagram basket platform.

For the error “201- Awaiting bank response”, perform the Get Transaction Status operation to get the most current status on the transaction.

If you receive an error message and the content says “do not initiate this transaction again,” perform the Get Transaction Status operation before reinitiating the transaction.

Ensure that you add the mandatory “tocurrency” field for making USD bank deposits for the countries that accept USD bank deposits.

Before submitting any transaction, verify that the account provided by the customer is a USD bank account and not a local currency account. For example, Nigerian Naira).

Syntax

POST https://nairagrambasket.com/api/submitTransaction

Response Codes

The following table lists the status codes that are returned in response to the submitTransaction request.

CodeDescription
200Success
201Success – pending payout to beneficiation
Note: Do not retry the transaction.
400Invalid request
401Unauthorized error “Invalid Token”
403Forbidden – “You are not allowed to use this service”
440Failed – “Invalid bank account number”
Note: Before re-initiating, editing, or canceling any transaction with the error “440, please do Get Transaction Status to confirm the updated status.”

Input Parameter

The following table lists the parameters that you need to provide in the submitTransaction request.

FieldValue FormatRequired/OptionalDescription
usernamemail@mail.comRequiredInput the valid email address that you submitted to your Partner Company.
passwordyourPasswordRequiredInput your secure password.
secretKeyyourSerectKeyRequiredInput the API key provided to you by your Partner Company.
senderfirstnamefirstNameRequiredInput the first name of the sender. For example, Jane.
senderlastnamelastNameRequiredInput the last name of the sender. For example, Doe.
senderemailsendermail@mail.comRequiredInput the email address of the sender.
senderphone07011111111RequiredInput the valid phone number of the sender. When unavailable, use the default phone number: 11111111111.
senderaddressNo 5, Address streetRequiredInput the valid address of the sender.
sendercountryUSRequiredInput the code for the sender’s country in ISO ALPHA-2 format. For example, US, GB, CA.
sendercityDallasRequiredInput the name of the sender’s city.
sendfromstateTXRequiredInput a 2-letter abbreviation of the sender’s state. For example, TX, NY, WA. Non-US default: 01.
senderpostalcode178980RequiredInput the sender’s postal code.
dateofbirth1968-02-05RequiredInput the date of birth of the sender in the valid format: YYYY-MM-DD.
tofirstnamebeneficiaryFirstNameRequiredInput the beneficiary’s first name. For example, John.
tolastnamebeneficiaryLastNameRequiredInput the beneficiary’s last name. For example, Doe.
tocountryNGRequiredInput the code for the beneficiary’s country in ISO ALPHA-2 format. For example, NG, GH, KE.
tobankaccountnameAccountFullNameRequiredInput the valid bank account name of the beneficiary’. For example, Jane Doe.
tobankaccountnumber0690000004RequiredInput the valid account number of the beneficiary. Please use the test bank details provided in the description. For SEPA payment, please input the IBAN number.
tobanknameAccess Bank PlcRequiredInput the valid bank name of the beneficiary. Please use the test bank details provided in the description.
Note: For SEPA and Europe payment, replace with “iban”
tobankcode044RequiredInput the valid bank code of the beneficiary’s bank. Please use the test bank details provided in the description.
Note: For SEPA and Europe payment, replace with “bic” or bank number for the countries requiring one.
fromamount300RequiredInput an amount to send. The minimum value is $10 USD.
exchangerate454RequiredInput the exchange rate.
fees10Optional Input the fees. The default fee is 0 unless specified.
transaction_number123456784568RequiredIndicates the transaction number that can be of 10 to 25 characters.
fromcurrencyUSDRequiredIt can also be the settlement currency per your agreement. For example, USD, GBP, CAD, EUR.
tocurrencyUSDOptional The settlement currency in eIther USD, GBP, CAD, or EUR based on your agreement.
customeridAssigned sender’s unique numberOptional This is required for SEPA payment.
Note: This is not a transaction reference but is unique for each sender.
partytype“PERSON” or “ORGANISATION”OptionalIndicates the sender type – a “PERSON” or “ORGANISATION”

Sample Request

curl --location --request POST 'https://nairagrambasket.com/api/submitTransaction' \
--form 'username="youremail@mail.com"' \
--form 'password="yourPassword"' \
--form 'secretKey="yourSecretKey"' \
--form 'senderfirstname="NameOne"' \
--form 'senderlastname="NameTwo"' \
--form 'senderemail="senderemail@mail.com"' \
--form 'senderphone="11111111010"' \
--form 'senderaddress="No 1 on Sender Address"' \
--form 'sendercountry="US"' \
--form 'sendercity="City"' \
--form 'sendfromstate="TX"' \
--form 'senderpostalcode="33321"' \
--form 'dateofbirth="1990-01-30"' \
--form 'tofirstname="FirstName"' \
--form 'tolastname="LastName"' \
--form 'tocountry="NG"' \
--form 'tobankaccountname="AccountName"' \
--form 'tobankaccountnumber="0690000005"' \
--form 'tobankname="Access Bank"' \
--form 'tobankcode="044"' \
--form 'fromamount="60"' \
--form 'exchangerate="300.00"' \
--form 'fees="0"' \
--form 'transaction_number="1122000088"' \
--form 'fromcurrency="USD"' \
--form 'settlement_currency="USD"'

Sample Response 1

{
  "Code": "200",
  "Message": "Success",
  "Content": {
    transaction_pin: NGN1234567890
  }
}

Sample Response 2

{
  "Code": "201",
  "Message": "Success pending payout to beneficiary",
  "Content": {
    transaction_pin: NGN1234567890
  }
}

Was this helpful?

Yes  No

Didn't find your answer? Contact Us

Previously
Bank Account Transfer Services
Up Next
Submitting a transfer via dashboard
Recent Topics
  • Get Currency Rate
  • Submit Cash Pick Up Transaction
  • Submit Mobile Wallet Transaction
  • Webhook/Call back
  • Submitting a transfer via Nairagram Payout API
Popular Topics
  • Submitting a transfer via dashboard
  • Welcome
  • Client Support
  • Get Security Questions
  • Get Wallet by Country
©2022 - Nairagram Ltd. All rights reserved.