# Channels

What each channel asks of your customer, and what you get back.

| Value | Name | The customer… | next_action | Expires after |
| --- | --- | --- | --- | --- |
| `QR_PH` | QR Ph | Scans a one-time QR with any QR Ph bank or e-wallet app. | `DISPLAY_QR` | 15 or 60 minutes |
| `GCASH` | GCash | Pays in GCash on the GCash checkout page. | `REDIRECT` | 10 minutes |
| `MAYA` | Pay with Maya | Pays with a Maya wallet on Maya’s checkout page. | `REDIRECT` | 15 minutes |
| `CARD` | Credit or debit card | Pays by card on the card provider’s checkout page. Each payment is screened for fraud. | `REDIRECT` | 60 minutes |
| `PAY_AND_GO` | Pay & Go | Pays cash at a Pay & Go kiosk: chooses Eplayment and enters the payment code. | `PAY_AT_COUNTER` | 48 hours |
| `PALAWANPAY` | PalawanPay | Pays cash at a Palawan counter: pays to Eplayment with the payment code. | `PAY_AT_COUNTER` | 48 hours |
| `BAYAD` | Bayad | Pays cash at a Bayad counter: pays to Eplayment with the payment code. | `PAY_AT_COUNTER` | 48 hours |

> **Note:** With a payment link (the default), these times start when your customer opens the link. An unopened link lasts 24 hours. In test mode, every payment lasts 15 minutes from when you create it (48 hours for a counter channel).

## Showing a QR Ph code

With a payment link (the default), Weav's page shows the code for you. If you ask for the raw string (`"next_action_format": "DIRECT"`), you render `next_action.qr_string` as a QR code yourself. QR Ph codes carry the QR Ph symbol in the center, laid out exactly like this. Bank and e-wallet apps expect it, so a code that's off may not scan:

(Figure: a sample QR Ph code. 29 × 29 modules of 8 px, a white quiet zone of 4 modules on every side, and the full-color QR Ph symbol in a white box at the center, 23.81% of the code's width.)

- Error correction level Q (M at minimum), black modules on white, whole pixels per module (no blurring), and a white quiet zone of at least 4 modules on every side.
- A white box in the exact center, 23.81% of the code's width (50 ÷ 210, measured without the quiet zone), with the full-color QR Ph symbol filling about 80% of the box. Don't recolor, invert, stretch or add effects to the symbol.
- Logo size = code width × 0.2381, rounded to a whole pixel; nudge it by 1 px if needed so (code width − logo size) is even, then offset it by half the difference on both axes. For example, a 210 px code gets a 50 px box at 80, 80.
- Scan-test on major e-wallet and banking apps, on iOS and Android, before you go live.
