Payment Gateway is a subsystem that provides execution of operations on funds’ top-up/withdrawal to/from the system in automatic mode. SDK.Finance has a full-fledged engine, which is designed to integrate different payment methods and tools.
A Payment Gateway is one of the main system components that ensures the interaction of internal business processes with external financial services. A payment gateway consists of a number of payment controllers or adapters. Each controller is an integration with an external financial service. That said, the provider is an external system integrated through API into the universal protocol of the Payment Gateway.
External systems may include such providers as:
- Card processors
- Electronic money systems
- Money Transfer Services
- Payment Service Providers
- POS terminals
For example, PayPal can act as a controller for withdrawing funds and outgoing transactions, and Wirecard for top-up and to capture funds of customer accounts with payment cards and online banking.
A Payment Gateway provides many APIs that allow for integration into an external application or service. It can be POS (Point of Sale) terminals, mobile phones, or any other trade equipment.
What are Incoming and Outgoing transactions?
Incoming transactions — Business transactions related to the withdrawal using external payment instruments. For example — payment cards, bank transfers, electronic money. Incoming transactions also mean payment of invoices to merchants using external payment instruments, rather than wallet/user accounts.
Outgoing transactions — Business transactions associated with the withdrawal of funds from customer accounts to external financial services. For example — on bank accounts of merchants, money transfer services, electronic money, etc.
A set of controllers for incoming and outgoing operations can differ depending on the requirements of a specific project. For example, in operations can be processed by card processors and outgoing operations through integration with core banking and sending funds from the bank account.
Inside the Payment Gateway subsystem, there is a commission calculation module for incoming and outgoing operations. Types of commissions are internal and external.
Both operations: accepting money and withdrawing funds deduct 5% of external and internal commission.
Commissions are managed by administrative Actors (CFO, Financial Specialist, etc).
Merchant and other system actors who require access to the payment gateway work through unified API, that allows Merchant to work with all controllers of payment gateway through one API.
A payment processor for use as a merchant acquirer
For the business processes of typical payment system: user successively uses the service-providers sub-system to choose goods, and pay for goods with an internal wallet or through external payment method. The payment gateway, in return, informs the service-providers subsystem on payment execution.
Payment Gateway Integration
The payment gateway can be integrated with several methods:
- API v1 — simple pre-configured HTML form, redirecting to the gateway’s payment page, on which the payment details are edited, the payment is processed, and the results of payments are shown on the page (works as the payment widget). Afterwards, the Merchant receives the notification on the executed transaction. This method is used for fast setting of same-type payments and a quick start;
- API v2 — API with callbacks, main method, that allows to send client to the payment page or carry out the transactions, with the help of API call, to execute transaction form client’s account and to receive a callback into the informational system of the Client;
- API v3 — specialized API to work with external devices like POS, mPOS. This type of API is used according to the specifications received from the Client based on the type of specific device.
Payment Gateway controllers can be extended for an unlimited amount of providers and are quickly configured by adding typical providers (CyberSource, Global Payments, Wirecard, etc.).
The subsystem supports tracking the status of pending and long-lasting transactions. There is a capability for manual management on semi-automatic incoming, and outgoing channels.