PAYIN
Overview
Payin in Finmo terminology means money to be collected from consumers against purchases of goods & services from you or simply loading funds to a wallet. Finmo here acts as an acquiring partner for you to collect the funds and settle the funds in your account. Payin methods are the channel through which Finmo accepts those funds from the consumer. It could be asynchronous Bank transfers, E-Wallets, Credit or Debit Cards, Online Banking, Direct Debit etc.
Merchants can collect payments using different payment methods in payment method categories such as Bank Transfers, E-Wallets, Cards (Domestic or International), Online Banking, Direct Debit or Virtual Accounts.
Use Cases
Finmo supports the following use cases for collecting funds from your end consumer:
eCommerce Purchases
Merchants can use Direct API or Hosted Checkout method to accept Payments from consumers. Payin Methods include PUSH-DEBIT where we create one-time/dynamic virtual accounts or PayID and the consumer is required to make a transfer from their bank account. Another option is PULL-DEBIT such as Cards, E-Wallets, or Direct Debit where the consumer authenticates themselves and completes the payment using the card details provided or bank accounts.
Wallet Top-ups
Finmo can issue a static Virtual account or PayID for every customer who has registered with you. Customers can make funds transfers to these Virtual Accounts on a needs basis. Finmo sends real-time webhook notifications to the merchant once the funds are received. These funds will be settled back to you as per your settlement terms with Finmo.
Recurring payments
Merchants can request a payment token that can be used for CARD-ON-FILE purchases or an eMandate like a Direct Debit Authority to periodically debit their accounts.
Key Terms
PAYIN Wallet
This is where all the funds collected from your customers are deposited. Any applicable fees (inclusive of taxes) against this transaction will be applied to the Fees wallet. You will also see 2 ledger entries: one credit entry in Payin wallet for the amount of funds we received and the second will be a debit entry for the Finmo Fees under your Fees wallet.
Direct Payin
Payin created via API for collecting via local rails. You can use direct payin to provide multiple options to your customers on your in-house checkout page.
Checkout Payin:
Payin created via Hosted checkout API or Finmo dashboard. No need to build your checkout page. A standard checkout page with your custom logo will be created for collection via local rails.
VA (Virtual Account) Payin
A virtual account is an account or an account proxy such as PayID issued by a bank operating under Finmo. The funds are still held by Finmo's custodian bank but they are virtually segregated so we know the funds belong to you or your consumers. You can create static as well as Dynamic VA's for collections.
Top Up
Finmo issues static Virtual accounts so that you can fund your own wallets for any payouts to be processed. For example, you can load funds in your Master payout wallet every month to process salaries for your employees.
Payin Process
Payin Flow
Payin Webhooks/Notifications
Finmo will notify you of the incoming funds or status change of the Payin object via webhooks. You can always choose to configure a static webhook listener URL via the dashboard or you can send a dynamic webhook URL in the Create Payin request.
PAYIN Step | Notification/Webhook sent by FINMO | PAYIN Status |
---|---|---|
Payin Created | PAYIN_CREATED | PENDING |
Payin Completed | PAYIN_COMPLETED | COMPLETED |
If the customer has completed the transfer but Finmo is still waiting to receive funds from the partner bank | PAYIN_AWAITING_FUNDS | AWAITING_FUNDS |
Payin Expired before completion | PAYIN_EXPIRED | EXPIRED |
Payin Cancelled (if selected while creation) | PAYIN_CANCELLED | CANCELLED |
Partial vs Full Payment
Typically, If a consumer tries to make a partial payment against a PENDING payin, the Finmo platform tries to return the funds to the consumer. But in some cases, the sender bank or network provider may not support a return so still have to accept incoming funds.
However, you can identify a partial payment vs a full payment very easily through webhooks and also via retrieving the Payin details.
You need to look at 2 fields in the PAYIN_COMPLETED webhook:
paid_amount : This is the actual amount the consumer paid against that Payin transaction
is_partially_paid : This will be set to true if a partial payment was made.
Updated 13 days ago