forked from thijooree/android
update docs: update payMV QR Design
This commit is contained in:
@@ -128,4 +128,4 @@ Fetch all four service groups in sequence. For each group:
|
||||
|
||||
---
|
||||
|
||||
[← Profile Picture](06-profile-picture.md)
|
||||
[← Profile Picture](06-profile-picture.md) **Next →** [PayMV QR](08-paymv-qr.md)
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# PayMV QR (Receive)
|
||||
|
||||
> ⚠️ **Work in progress.** Thijooree does not call this endpoint yet. It generates Fahipay QRs locally, and the Fahipay app currently rejects those as **"Invalid QR"**. See [PayMV QR Format → Fahipay](../thijooree/18-paymv-qr-format.md#fahipay-work-in-progress).
|
||||
|
||||
Fahipay's app does **not** build its receive QR on the device. Its `PayMVQR` screen asks the server for a finished card image and displays it. Found by decompiling the app (v2.0.2, Hermes bundle), **not yet confirmed with a traffic capture**: request headers and the exact response shape are unverified.
|
||||
|
||||
---
|
||||
|
||||
## Endpoint
|
||||
|
||||
```
|
||||
GET api/app/qr/?lang=<lang>&type=p2p&amount=<amount>
|
||||
```
|
||||
|
||||
The app also has a `POST api/app/qr/` variant, sent as form data with `type=p2p`, `lang`, `version`, `platform=app`, `amount` and `device[...]` fields.
|
||||
|
||||
## Response
|
||||
|
||||
The app reads the image from the first of these fields that is present: `qr_image`, `qr`, `image`, `qr_url`, `qr_code`. The value is either an `http…` URL or raw base64, which the app prefixes with `data:image/png;base64,`. The payload text is read from `qr_code_text` / `qrCode`.
|
||||
|
||||
## The card image
|
||||
|
||||
A 1240 × 1322 PNG:
|
||||
- Blue `#005DA3` card with a 6 px border.
|
||||
- The square Fahipay icon plus the "FahiPay" wordmark top-left, and "PayMV QR" top-right.
|
||||
- A blue panel holding the holder's name and the QR.
|
||||
- The reference (`62→05`, e.g. `P2KVTPYL4E`) printed vertically in blue in the white margin right of the panel. The amount is not included in it.
|
||||
- A "MALDIVES NATIONAL QR" footer.
|
||||
|
||||
Thijooree reproduces this layout in `PayMvQrFragment.renderFahipayQrCard()`; see [PayMV QR Screen](../thijooree/11-paymv-qr-screen.md#fahipay--renderfahipayqrcard).
|
||||
|
||||
Server-issued payload fields that differ from a plain PayMV QR: `60` = `LD` + 4 digits, `62→05` = `P` + 9 chars, `62→08` = `PAYMENT`, and `54` = `***` when there is no amount. Full samples are in [PayMV QR Format](../thijooree/18-paymv-qr-format.md#real-receive-qrs-reference-samples).
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
[← Saved Favourites](07-contacts.md)
|
||||
@@ -127,6 +127,7 @@ Client Server
|
||||
| 5 | [Transaction History](05-history.md) | Paginated activity/transaction history |
|
||||
| 6 | [Profile Picture](06-profile-picture.md) | Local-only profile picture storage (no Fahipay endpoint) |
|
||||
| 7 | [Saved Favourites](07-contacts.md) | Fetch saved contacts per payment service |
|
||||
| 8 | [PayMV QR](08-paymv-qr.md) | Server-generated receive QR (`api/app/qr/`) — work in progress |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user