Sobes.tech
Principal

Mobile Payment System It is necessary to implement an architecture where a customer can pay for purchases at the checkout/self-service kiosk (self-checkout) using a mobile application. Payment is NOT made via SBP. The user, when purchasing goods, chooses to pay using the application. The checkout or self-service kiosk must identify the user and initiate the payment process through the customer's bank. Customer Journey Map (CJM): - Cashier/customer scans goods. - Proceeds to payment. - Identifies themselves at the checkout/self-service kiosk. - Chooses to pay via the Magnit app. - Opens the Magnit app. - Selects the bank installed on the phone from which the payment will be made. - Makes the payment within the bank's app. - Returns to the payment result screen in the Magnit app. - Receives a message about successful payment at the checkout/self-service kiosk. Non-functional requirements: - DAU = 1000 in the store - Number of stores = 500 - Number of checkouts = an average of 5 checkouts per store. - Payment should be completed within a maximum of 2 minutes. - The payment page should open within a maximum of 250ms.

sobes.tech AI

Answer from AI

To implement a payment system using a mobile application without utilizing the SBP, the following architecture can be proposed:

  1. User identification at the checkout/CSO:

    • The checkout/CSO generates a unique QR code with purchase information and a transaction ID.
    • The user scans the QR code in the Magnit app.
  2. Transition to the Magnit app:

    • The Magnit app receives purchase data and offers to select a bank for payment.
  3. Payment through the bank:

    • The Magnit app initiates a transition to the bank's app, passing payment parameters (amount, transaction ID).
    • The user confirms the payment in the bank's app.
  4. Payment confirmation:

    • The bank sends a notification about the payment status to Magnit's backend.
    • Magnit's backend updates the transaction status.
    • The checkout/CSO receives a notification of successful payment via push message or polling.
  5. Display of the result:

    • The Magnit app shows the payment result.
    • The checkout/CSO completes the purchase process.

Non-functional requirements:

  • To ensure a DAU of 1000 per store and 500 stores with 5 checkouts each, the system must be scalable and distributed.
  • Use caching and fast message queues to minimize delays.
  • Optimize QR code generation and processing.
  • The payment page should load within 250 ms — use CDN, minimize requests.
  • Payment time should be up to 2 minutes — provide asynchronous notifications and timeouts.

This approach ensures security, scalability, and user convenience.

Mobile Payment System It is necessary to implement an… - sobes.tech