Offer and confirmation
Show the service, currency, amount, material conditions, customer identity needs, and final confirmation without hidden selections or ambiguous totals.
Transaction route / provider-aware
Jordan's regulated retail rails are important context, but the build begins with the merchant's actual provider, contract, credentials, settlement model, and customer-support process.
Working checkpoints
Show the service, currency, amount, material conditions, customer identity needs, and final confirmation without hidden selections or ambiguous totals.
Store a local transaction record before redirect or submission; verify signed callbacks; make duplicate, late, missing, and out-of-order events safe.
Tie the accepted provider state to the correct receipt, service action, notification, and staff queue rather than trusting a browser success screen.
Give staff an exception queue with provider references, internal references, timestamps, amounts, owner, notes, and a daily comparison path.
The Jordan operator confirms the licensed or authorized relationship, supported methods, settlement, API terms, fees, and support contacts.
Write pending, authorized, paid, failed, cancelled, expired, reversed, refunded, disputed, and unknown behavior before coding.
Test timeouts, retries, duplicate taps, closed browsers, delayed callbacks, mismatched amounts, provider downtime, and staff correction.
Prove that provider records, internal orders, receipts, fulfillment, refunds, and accounting handoff can be compared without guesswork.
No payment-provider relationship is implied.