# TCN payments open questions ## Goal Close the remaining machine-integration unknowns before Ballbox implements the full TCN adapter. ## Questions for TCN sales / engineering 1. In `FunCode=8000`, what exact value should Ballbox return in `CodeUrl`? - raw URL - QR payload string - Mercado Pago deep link - other provider-specific format 2. After payment approval, how does the machine learn that the vend can proceed? - Ballbox calls the request `NotityUrl` - machine polls another TCN endpoint - cloud pushes through `4000` - other flow 3. Is `NotityUrl` always machine-provided per transaction, or is there also a machine-level configured callback? 4. What is the exact payload shape expected for the payment-success notify/result message? 5. Which field is the true dispense correlation key? - `TradeNo` - `SlotNo` - both - another internal machine field 6. Does the stock TCN app render the QR natively after a successful `8000` response, or is any machine-side UI configuration required? 7. Are there any timeout / expiry expectations for the QR payment window from the machine side? 8. What should Ballbox return to the machine when payment creation fails or times out? 9. Is there any machine retry behavior Ballbox must tolerate for duplicate `TradeNo` requests? 10. Are there additional payment-related endpoints beyond `8000` required for a production dispense flow? ## Questions for Mercado Pago / internal validation 1. Which returned value from Ballbox should be safest to map into TCN `CodeUrl` for dynamic QR display? 2. Does current Ballbox order creation produce the same QR/deeplink payload shape expected by a buyer using Mercado Pago app? 3. Is the current webhook exposure stable enough for real public notifications on the production-like Ballbox URL? 4. Are there provider-side expiry, duplicate-order, or idempotency constraints we should encode before machine rollout? ## Output expected from this doc - A resolved field-mapping note added back into `docs/tcn-payments-integration-plan.md` - A concrete implementation spec once answers arrive