Raast R2P Instruction Page
Our Raast payment success was stuck around 31%. When I dug into the data, most transactions weren't failing. They were expiring, because people couldn't find where to approve the payment inside their own banking app. I shipped one page that showed each user exactly what to tap, and success climbed to 65% across 14 banks.
Try the real thing.
This is the production instruction page, running live in the frame. Swipe through the steps and watch the auto-redirect timer.
Open full-screen ↗

Best on your phone.
Open the real UBL instruction page and try it at your own screen size.
Try it now on your phone ↗When we turned on Raast Request-to-Pay, success sat around 31%. The strange part showed up in the data: most of those transactions weren't failing, they were expiring. People started the payment and then never finished it. I had a guess why. I'd seen the same thing building 1Bill. Every Pakistani banking app puts the approval screen somewhere different, three to six taps in, with its own wording and layout. So I grabbed a few bank apps and tried to approve a payment myself. The flows had almost nothing in common. If I had to hunt for the button, a first-timer under a countdown had no shot.
I built one instruction page that we served as the redirect. It reads the user's bank from their IBAN and shows them exactly what to tap next, using real screenshots of their specific app. Getting those screenshots was most of the job. Banking apps block screenshotting, so I couldn't just capture them. I borrowed phones, roped in colleagues, tracked down friends on the right banks, and posted in forums to cover the rest. Then I photographed each screen with a second phone and built a custom GPT that turned those photos back into clean app screenshots and marked the exact button to press, so your eye goes straight to it instead of scanning. One responsive template ran all 14 banks, in plain bank-style language with no Simpaisa branding anywhere.
People were getting lost in their own bank app.
The data said expiring, not failing, and that's a different problem. A failure is the system saying no. An expiry is someone who wanted to pay and couldn't work out how in time.
I'd already watched this on 1Bill, so I tested it the simple way: opened two or three bank apps and tried to approve a Raast payment myself. Each one hid the approval screen in a different place, behind different labels. People weren't unwilling. They were lost in their own app, on the clock, with no idea this payment type even existed.
Show people their own screen before they get there.
Screenshots did the heavy lifting, not text. If someone sees a picture of the exact screen they're about to land on, with the right button already circled, there's nothing to read or translate. It works no matter how comfortable they are with English or with apps.
The hard part was sourcing real screenshots for 14 apps that actively block it. Bank Al Habib was the worst offender. I photographed screens with a second phone, then ran a custom GPT I built to convert those photos into clean screenshots and highlight the precise tap target. Simpaisa's name appears nowhere on the page. It reads like guidance from your own bank, which is the trust you want at the exact moment someone's about to move money.
31% to 65%, and merchants stopped fearing redirect.
In a single-merchant pilot, success went from 31% to 64.7%, and the page is now live across all 14 banks, roughly 85% of Pakistan's mobile-banking users.
The bigger unlock was confidence. A lot of our larger merchants had wanted a redirect flow but were nervous about it, because the Easypaisa and JazzCash journeys were long and failure-prone. Once Raast worked, we pulled those into the same approach and brought their failure rates down too.
Payment success rate · single-merchant pilot
+33.7 ptsPeople weren’t unwilling to pay. They were lost inside their own bank app. Showing them the exact screen to tap more than doubled success, 31% → 64.7%, now live across 14 banks.