When a customer initiates a payment on your checkout page, you need to trigger a payment flow. A payment flow executes a number of steps in which you invoke all required API requests that are needed to complete the payment. Actions that occur outside a flow (such as refunding a customer) are called operations.
When accepting your first payment, you explored a one-step payment flow in which you immediately transferred the charged amount to your acquiring bank. However, it is also quite common to temporarily lock the funds for a particular payment and transfer the funds at a later stage. This is known as a two-step, or Authorize-Capture, payment flow in which your customer authorizes the payment during checkout, but you only transfer (capture) the funds to your acquiring bank when the goods or services are delivered.
A charge is a one-step payment flow that combines the two Authorize-Capture steps into a single transaction. Funds are transferred from your customer’s account to your acquiring bank once the payment has been authorized.
When you need to return funds or cancel an operation, you can refund a completed transaction or void one that hasn’t been finalized yet.
There may be scenarios in which you need to transfer funds from your account directly to your customer, unrelated to a previous customer transaction. You can do this by invoking a Create Credit request, which credits your customer’s credit card for the amount you specify.
Learn about payment and transaction statuses in the payment flow. Understand how payment status tracks the overall state of a payment (Initialized, Authorized, Captured, etc.) while transaction status shows the result of individual API calls (Succeed, Failed, Pending).
Flows may vary in their communication modes and in the steps you may require customers to follow in order to complete a payment. In this topic we will explore two types of communication modes that a payment flow may implement: asynchronous and synchronous modes. We will also explore the implementation of a redirection flow as means of redirecting customers to a third party platform for completing additional steps needed to finalize a payment.