HomeGuidesRecipesAPI ReferenceChangelog
API Reference
Guides
API Reference

2.3 Making a Pay-In

A comprehensive guide for building an effortless user experience to allow your customers in Africa to onramp using local fiat currencies.

Introduction

Allow your customers to deposit funds using their local currency and payment options, including bank transfer or mobile money, and have the funds automatically credited to your USD/USDT/USDC settlement wallet.

User Flow

Build out a simple UI in your app to allow your customers to seamlessly deposit using local fiat and payment options.

Collection steps & API overview

A guide of the user journey steps for making collections/deposits.

User journey stepWhat to show on the UXWhat to ask the user forAPI referenceWhat's returned from the API
1. Initiates on-rampDeposit capabilityRequest depositn/an/a
2. Chooses a preferred payment channelList of payment channels available to them eg: Bank Transfer, mobile money, P2P transferTheir preference of payment methodGet ChannelsA list of available payment options for the given country
3. Choose the amount USD wanting to deposit.A place for the user to nominate how much USD the customer wants to withdraw, and the limits thereofThe amount (USD) they are wanting to deposit- Get Channel
- Get Rates
- Limits for a given payment channel
- Rate of local fiat/ US
4. Enter my beneficiary details (mobile money only)Input fields for customer to enter beneficiary details:
- First name
- Last name
- mobile number (country code + string)
- Select provider (mobile network)
- Reason for sending
Please add mobile money details:Mobile provider= Get Networks

Reason for sending =
Payment Reasons
Get Networks - A list of available networks

Payment Reasons - Pre-defined list of reasons to select.
5. Review deposit request.1. Transaction details including:- Payment Option- Payment channel- Payment Network- Account number/ Mobile number- Total USD
- Rate (if req)
-Total local fiat2. Ability to confirm or cancel.
To confirm or cancel the requested transaction.Submit Collection RequestA quote to make the exchange
6. Initiate deposit request.Confirmation the transaction is being processedn/aAccept Collection request
Deny Collection Request
Confirmation or rejection of the transaction
7. Deposit successfulConfirmation that transaction was successful.n/an/an/a
8. Retrieve information about a specific paymentView of transaction detailsView transaction detailsLookup CollectionInformation about a specific payment

To get started, open the recipe below:

UI Tutorial

This is a guide to showcase a proposed UI/UX framework that can be followed to best build out the required flows.

  1. Initiates deposit

To begin, a customer will initiate a deposit.

  1. Country selector

For cross border collections or depositing from another person's account or mobile wallet, a country selector will be necessary for a customer to select between all supported countries where the recipient is based. If a customer can only deposit to their own saved account, then the country saved can be passed through to the api only.

  1. Select Payment Method/ Channel

The supported and enabled payment channel of the chosen country will be shown to the customer for them to select their preferred method of payment.

  1. Enter deposit amount

Once the preferred payment channel has been selected, the customer can now enter the amount they would like to deposit. The USD amount will be entered and the api will provide the rate conversion to the local fiat of the country selected. To show the local currency conversion on the same screen will require the calculations to be handled by partner. The same will go whether you would like to allow customers to enter the fiat amount opposed to the $ amount.

The api will also provide the any relevant min and max transaction limits relevant for the transaction which can also be displayed to alert customers upfront.

  1. Enter Recipient Details (Mobile Money deposit only)

It's now time to add the relevant recipients details to which the customer wants to make the deposit via mobile money.

  • First name - A text field for the customer to enter the first name of the recipient

  • Last name - A text field for the customer to enter the last name of the recipient.

  • Mobile number - A text field that contains the dialling code and number of the recipient.

  • Select provider - A drop down field that will show all the supported networks passed through by the api.

  • Reason for Sending - A dropdown that will contain the relevant pre-defined reasons here. This is necessary if you are allowing customers across borders to deposit money on other beneficiary wallets on your platform.

  1. Review deposit request

This screen will show the customer all of the transactional details for their deposit request for them to review and confirm that it is correct. The details that you will get from the SubmitPaymentRequest endpoint will include:

6.1 P2P or Manual Bank Transfer

  • Payment channel - payment method

  • Payment Network - selected bank name

  • Total Amount in USD

  • USD/Fiat Rate

  • Total Amount in Fiat

  • Fee - this will need to be built in by partner if fee's or any other costs are passed on to customers for transactions.

  • Total Amount Received - this calculation will need to be built in on the partner's side.

    6.2 Mobile Money

  • Payment channel - payment method

  • Payment Network - selected mobile network/ provider

  • Mobile number - mobile number to be in format of country code and number.

  • Total Amount in USD

  • USD/Fiat Rate

  • Total Amount in Fiat

  • Fee - this will need to be built in by partner if fee's or any other costs are passed on to customers for transactions.

  • Total Amount Received - this calculation will need to be built in on the partner's side.

  1. Deposit Banking Details (Bank Transfer only)

If your customer has selected bank transfer as their payment method, then they will be shown the relevant bank account details that they are required to make the deposit into. This screen is shown once they have accepted the collection request. (transactional quote)

🚧

Remember!

Your customer will be required to make the deposit to the relevant bank account using the correct reference provided. Once they have made the payment and the funds reflect in the account, then only will the deposit be approved.

  1. Deposit approved/ submitted

8.1 Manual Bank Transfer

When deposit funds are reflecting in the correct bank account, the deposit will be approved by the YC team. At this time, an api request will be sent to top up your customers wallet on your platform.

8.2 Mobile Money

Once your customer has accepted the deposit request, they will be notified to check their mobile money phone number to approve the request from their mobile money network provider. Once they have approved the request, an api request will be sent to top up your customers wallet on your platform.