| Shainee |
The mobile app users open, which hosts partner apps |
| Identity provider |
Shainee's backend: it signs users in, issues launch tokens and verifies them |
| Partner app |
Your web app, opened inside Shainee |
| Partner server |
Your backend: it issues nonces, verifies tokens, and keeps your sessions and data |
| Container |
The full-screen view where your page opens, under Shainee's own header |
| Web shell |
A browser stand-in for the mobile app that frames your page; used for development and desktop |
| Launch token |
A signed proof, valid for 60 seconds and usable once, that a signed-in user opened your app |
| Nonce |
A one-time random string your server creates for each page load, tying a token to that load |
sub |
The user's private id in your app only; different in every app |
| Client id, client secret |
Your app's public identifier, and the password your server uses on the verify route |
| Scope |
A kind of information the user approves sharing. Today only profile (the name) |
| Consent |
The user's approval, asked once per app and revocable at any time |
| Origin |
The scheme, host and port of your launch URL; the only address allowed to talk to Shainee |
| Session |
Your server's record that a page is signed in. Short-lived and held in memory |
| JWT |
The signed token format used for launch tokens: three Base64URL parts separated by dots |
| JWKS |
The identity provider's public keys, published so signatures can be checked |
| Sandbox, production |
Separate identity providers with separate credentials: one for testing, one for real users |
| Payment |
A request from your server for one customer to pay an amount; the customer pays it on Shainee's payment sheet |
| Vendor |
A seller in your app whose share of a payment is paid to their CityWallet. A shop selling its own goods has one |
| Split |
One vendor's share of a payment. Splits add up to the payment's amount |
| Escrow |
Paid money held by Shainee, split by vendor, until it is released or refunded |
| Release |
Paying a held split to its vendor, when the customer has what they paid for |
| Refund |
Sending a held split back to the customer. Not available yet |
| CityPay Checkout |
CityPay's own payment page, where the customer logs in to CityPay and pays |
| CityWallet |
The licensed Nepali wallet that sellers' shares are paid out to |
| Webhook |
A signed POST from Shainee to your server when a payment changes, for example payment.paid |
| Idempotency key |
A value unique per order, sent when creating a payment, so a retry returns the same payment instead of a second one |