SEQR Unattended Payments Service introduction
SEQR Unattended Payments Service (UPS) is service that allows your unattended POS to integrate with SEQR.
On this page you will find information how to proceed with UPS integration.
- SEQR user - SEQR’s and self-service machine user
- reseller - your backend maintaining self-service machines
- SEQR Unattended Payments service - SEQR service that will initiate purchase process on reseller side
- SEQR - SEQR backend
- SEQR app - SEQR mobile application
All starts with user scanning QR code on your unattended POS.
|method/service||exposed by||part of API||description|
|createPurchase||reseller||SEQR Unattended Payment Service||REST service called by SEQR Unattended Payment Service once user scanned QR Code on unattended POS. URL has to be HTTPS and end with “createPurchase” (for example https://yourdomain.name.com/seqr/createPurchase).|
|sendInvoice||SEQR||SEQR Payment||SOAP method called by reseller backend triggered by createPurchase request. This method creates invoice on SEQR side and returns it’s reference number (invoiceReference). By calling this method reseller provides also notificationUrl to be used for callbacks.|
|notification callback service||reseller||SEQR Payment||notificationUrl will be called (empty HTTPS POST responded with HTTP 200 OK code) by SEQR once customer confirmed or cancelled payment.|
|getPaymentStatus||SEQR||SEQR Payment||SOAP method called by reseller backend triggered by notification callback. Returns payment status - RESERVED or CANCELLED.|
|updateInvoice||SEQR||SEQR Payment||SOAP method called by reseller after user choose products from self-service machine to update rows and totalAmount of final invoice.|
|commitReservation||SEQR||SEQR Payment||SOAP method called by reseller to finalise payment process.|
All above methods/services are mandatory to implement.
- Customer scanns QRCode placed on sel-service machine using SEQR app.
- SEQR Unattended Payments service calls createPurchase exposed by reseller sending JSON with token (machine id).
- Reseller calls sendInvoice exposed by SEQR and returns the invoice reference to SEQR Unattended Payments service.
- Reservation details are presented to customer.
- Customer confirms or cancels reservation with PIN number.
- SEQR calls notificationUrl provided in sendInvoice request.
- Reseller calls getPaymentStatus and retrieves reservation status. If RESERVED merchants proceeds to next steps.
- Reseller unlocks self-service machine allowing user to choose the products.
- Customer chooses products from self-service machine.
- Reseller calls updateInvoice exposed by SEQR to change details of invoice that user will see in SEQR app.
- Reseller calls commitReservation to commit transaction with final amount.
SEQR Unattended Payment Service QR code scheme
Qr code should have scheme:
- w - merchantId sent in start-up kit (usually the same as resellerId)
- t - token (machine id) that will be passed in createPurchase request to merchant
SEQR Unattended Payment Service API
At this point our SEQR Unattended Payment Service API is based on one REST method - createPurchase which is required to be exposed by reseller.
This method will be called by SEQR Unattended Payment Service once customer scanned SEQR QR Code on unattended POS. SEQR Unattended Payment Service service will sent below values to reseller’s backend.
|token||This is identifier of self-service machine or purchase.|
|amount||Max reservation amount for which invoice should be created by reseller.|
|currency||Currency of reservation amount.|
|msisdn||Customer’s phone number.|
|invoiceReferenceId||invoiceReference from sendInvoice response see SEQR Payment API.|
Error createPurchase response
|errorCode||Error code specifying the error on reseller’s backend.|
Possible values of error code
|INSUFFICIENT_FUNDS||amount is to low to start the payment flow on reseller’s side. Eg. reservationAmount is lower than cheapest product in self-service machine.|
|DEVICE_IN_USE||Device is already used by another customer. Someone else scanned qrCode, agreed for purchase but didn’t choose the product yet.|
|DEVICE_UNAVAILABLE||Self-service machine is out of service.|
|INVOICING_ERROR||Error occurred while calling sendInvoice exposed by SEQR (SEQR Payment API).|