Skip to main content

Payment Flow

Every Grain payment moves through a defined set of stages — from checkout to final settlement. Understanding this flow helps you build better integrations and set clear expectations for your customers.
1
Customer Initiates Payment
2
The customer interacts with your payment module and selects Pay with Crypto. Grain’s API generates a prefilled payment link containing the destination address, token, and amount. The customer is prompted to review, agree, and sign the transaction.
3
If the customer does not agree or sign, the transaction is marked as rejected and the payment is cancelled.
4
Once the customer signs the transaction, it undergoes Grain’s automated compliance screening. After screening passes, the funds are delivered to a one-time storage wallet generated by Grain. The payment enters a settlement hold period while awaiting final settlement.
5
If a refund is requested during this period, the refund process begins (see Refund Flow below). If no refund is requested and the settlement period has passed, the transaction is captured.
6
Once a transaction has been captured, your merchant account balance is credited and funds are ready to be disbursed based on your elected settlement method.

Refund Flow

Refunds can be initiated by either the customer or the merchant, following the merchant’s refund policy. Here is how the refund process works:
1
Refund Requested
2
A refund is initiated by the user or merchant according to the merchant’s refund policy. The request appears in your Grain Dashboard for review.
3
Merchant Review
4
You review the refund request on your Dashboard. You can approve or deny the request based on your refund policy and the details of the transaction.
5
Refund Decision
6
If approved, funds are sent back to the customer’s original payment address from the generated one-time payment address.
7
If denied, the refund request is rejected and the held funds are deposited to your merchant account balance.