Accept payments
“I have paid” claims
Customers confirm with their MoMo Transaction ID.
A claim is the customer saying “I have paid” and giving the MoMo Transaction ID from their confirmation SMS. Claims make LokiPay work even when the customer forgets the reference or the network delivers your SMS late.
What happens#
| Situation | Result |
|---|---|
| The SMS with that Transaction ID already arrived and fits the payment | VERIFIED immediately. |
| The SMS hasn’t arrived yet | CLAIM_SUBMITTED — verified automatically when it arrives. |
| No SMS within the claim timeout (default 6 h) | REVIEW with reason CLAIM_SMS_NOT_RECEIVED. |
| The SMS doesn’t fit (amount, reference…) | REVIEW with the reason. |
| The Transaction ID is already used or claimed by another payment | Rejected with TRANSACTION_ALREADY_USED / TRANSACTION_ALREADY_CLAIMED. |
Where customers claim#
- On the hosted checkout and payment-link pages (I have paid).
- In your own app, by calling POST /v1/intents/:id/claim from your backend.
- Without a payment at all — bare claims — when your app lets customers “top up any amount”.
Transaction IDs are normalised (spaces, dots and dashes removed, upper-cased) before matching, so
GM260112.1130.C05400 and GM2601121130C05400 are the same.