Introduction
Payment processing has three main steps. Authorization, Invoicing and Settlement.
Authorization is the process of authenticating the amount that a particular order has. This process will connect with the payment system, and it will get a response. Based on the response, the payment status of the order will be moved to AUTHORIZED.
Invoicing is the process of initiating the settlement for the order, and it can be done in two stages, that is Order level Invoicing and Shipment level Invoicing.
In the settlement process, based on the payment method of the order, it will connect to the payment system and collect the total amount of the order from the customer.
Payment Rule Configuration
Step 1: Go to SBC – Move to your organization – System Setup – Payment – Payment Rule – Search

Step 2 : Configuring the created payment rule at Enterprise Level

Payment Type Configuration
Step 1: Go to SBC – Move to your organization – System Setup – Payment – Payment Type – Search


User Exit Implementation
YFSCollectionOthersUE is implemented to perform the authorization, re-authorization, and charge activities of the other payment types. This user exit will be invoked in the Execute Collection API call.

Wallet – Payment Flow
- Sales Order Flow – Wallet
- Extra Quantity added
Sale Order Flow – Wallet
Create Order
Created Order with Wallet as Payment Type

Console
- Order Status is ‘Created’ and Payment Status – Authorized

Charge Transaction Table
- After creating the order, create order record is in ‘Checked’ Status and Authorization is in ‘Checked’ Status.

Create Shipment Invoice

Console
- Invoice is created for shipment of the order.
- Payment Status is still in Authorized Status


Charge Transaction Table
- After Invoicing, Shipment entry is created with ‘Open’ Status.

Request Collection
- Payment status is moved to Invoiced Status after called the Request Collection


Charge Transaction Table
- Shipment record is moved to Checked status and Charge record is created with Open Status.

Execute Collection
- Invoiced amount has been collected and Collected Amount is updated in the Console.
- Payment status is in Invoiced.


Charge Transaction Table
- Total Amount has been Collected after called the execute collection API
- Charge record is moved to closed status.

Request Collection
- Payment Status is moved Paid after called the request collection.


Charge Transaction Table
- Charge record is moved to Checked Status.

Extra Quantity added
- Some of the additional quantity is added to the existing line of the sales orders.
Created
- Created with Wallet Payment and Payment Status is in Authorized status.

Charge Transaction Table
- After creating the order, create order record is in ‘Checked’ Status and Authorization is in ‘Checked’ Status.

Add Additional Quantity
- Additionally two quantity is added after creating the order.
- Payment Status is moved to Await Authorization.

Charge Transaction Table
- New Authorization record will be Closed status and Addition record is in Open status after added the extra quantity.

Request Collection
- Payment Status is moved to Authorized status after called the request collection.

Charge Transaction Table
- Authorization record will be Checked status
- Addition record is in Checked status after added the extra quantity.
