SMS automation
SMS verification
How payment SMS reach Paybob and turn pending payments into completed ones.
Many popular payment methods, such as personal mobile-wallet accounts and bank transfers, have no API that tells you a payment arrived. The only proof is the SMS your account receives. Paybob reads those SMS and uses them to confirm payments automatically, so you don't have to check every one by hand.
The pieces
| Page | Its job |
|---|---|
| Devices | Connect the Android phone that receives your payment SMS. It forwards them to Paybob. |
| SMS Filter | Tell Paybob which senders send payment SMS, and how to read the amount, transaction ID and other details from them. |
| SMS Data | Every payment SMS Paybob has received, read and stored. |
| Balance Verification | Optionally, check each SMS against your account balance, so a forged SMS can't confirm a payment. |
All of these are installation-wide: they're shared by every Brand.
How an SMS confirms a payment
The SMS reaches Paybob
Your phone receives a payment SMS, such as "You have received Tk 500.00 from 01700000000. TrxID 9XA7K2M1QP". The connected Android app forwards it to Paybob within moments. (Instead of a phone, any tool that can send a web request can forward SMS: see Inline SMS API.)
Paybob reads it
Paybob finds the SMS filter for that sender and reads the amount, transaction ID and other details from the message. An SMS that matches no filter is ignored.
Paybob stores it
The SMS is saved in SMS Data as Approved: ready to confirm a payment. If you use balance verification, it's held as Pending until the balance in the SMS checks out.
The SMS completes a payment
An approved SMS is used in one of two ways:
- At checkout. A customer paying with a manual gateway enters their transaction ID, or waits on the page, and Paybob finds the matching SMS straight away.
- In the background. Every minute, Paybob looks for Pending payments that an approved SMS pays for, and completes them.
Either way, the SMS is marked Used so it can never pay for anything else, and the payment is completed exactly as if you'd clicked Approve: the customer's website is notified by webhook, and so on.
Matching rules
Paybob only completes a payment automatically when it's sure. An SMS matches a payment when:
- the currency matches: the SMS filter's currency and the payment's currency are the same. Amounts are never converted;
- the payment method matches: the payment was made with the gateway linked to that SMS filter;
- the amount matches what the customer had to pay, including fees and discounts. With payment tolerance on, a whole-number amount just above or below is also accepted;
- the SMS arrived after the payment started, so an old, unused SMS can't pay a new checkout.
If an SMS could belong to more than one pending payment, Paybob completes none of them and leaves them for you to approve by hand. It never guesses.
Payment tolerance
Some wallets only let customers send whole amounts. A customer asked to pay 100.65 may send 100 or 101. With Payment Tolerance on in General settings, those are accepted too:
| Amount due | Accepted with tolerance on |
|---|---|
| 100.65 | 100.65, 100, 101 |
| 100.33 | 100.33, 100, 101 |
| 100.00 | 100 only |
Nothing else is accepted, so 99.90 or 102 never match 100.65. Tolerance doesn't apply to the Unique Amount and Sender Number methods, which depend on the exact amount.
Setting it up
Add your gateway
Add the manual gateway, such as a personal wallet, in Gateways and note its sender ID.
Create its SMS filter
In SMS Filter, create a filter with that Sender ID, the SMS sender names your phone shows, the currency, and the format of the payment SMS.
Connect a phone
In Devices, connect the Android phone that receives the SMS.
Test it
Send yourself a small payment and check that it appears in SMS Data as Approved. Then make a test checkout with the gateway.