Skip to main content

Pay-at-POS

The Pay-at-PoS (point-of-sale) scenario allows Users to make payments and earn and redeem rewards in-store at the point-of-sale; using their Pepper Powered App account.

Pay-at-POS extends the journey of Loyalty-at-POS to allow customers scanning a bar code to use their stored payment method in the app to pay, as well as earning and redeeming loyalty rewards.

Paying for an order

When submitting an order to Pepper, as well as awarding and redeeming loyalty, POS can ask Pepper to process payment using the stored card number for that attached user.

The POS UI should make it possible for an individual transaction for the POS user to select to pay with the Loyalty user's attached card. This is usually best done at the end of the transaction as a separate payment method (PepperPay).

Pepper have merchants who are running loyalty only apps and not using the app for ordering, so this should be a configurable option.

In Loyalty-at-POS, Step 3, an order is submitted to Pepper to award or redeem loyalty points. Setting the payment type value in the order request to CARD_ON_FILE will trigger Pepper to attempt payment for the order.

{
"externalId": "string", // POS payment line id
"type": "CARD_ON_FILE",
"amount": 0, // Payment amount to process
"tip": 0 // amount of TIP
}

POS must then poll the operation using the operation endpoint in the response to query whether payment was successful.

After a successful payment, the order will be created in Pepper and any relevant awards will be added or removed.

Orders will not be recorded for a failed payment, the entire order will be deemed to have failed should a payment not be successful. The order should be re-submitted.