Loyalty points payments
The points of a logged-in Loyalty member can be converted to a monetary value to make payments on an order.
Loyalty points payment balance
Each Loyalty member has a number of balance types, based on the club they belong to. One of these balance types can have a Redemption Rate set up to allow the points to be redeemed as currency to make Loyalty points payments.
The amount that a member can spend in Loyalty points payments will depend on the amount of points they have available, after already redeeming points for recognitions in the order.
You can retrieve the Loyalty points payment balance of the logged-in Loyalty member using the Get Loyalty Points Payment Balance endpoint.
Note this feature requires Loyalty 5.0.2
GET: /orders/{{userSessionId}}/loyalty-points-payment-balance
Response:
{
"balanceTypeId": 1,
"balanceTypeName": "ABC Club",
"pointsUsed": 10, // The number of points already redeemed in the order for recognitions
"pointsRemaining": 30, // The remaining points balance, after the amount already used in the order for recognitions
"pointsRemainingInCents": 1500 // The monetary equivalent of pointsRemaining. This is the amount that can be spent for points payments
}
Restricting the Loyalty points-payable value of an order
Loyalty can restrict how much of an order can be paid for using Loyalty points payments. Connect will observe the restrictions set up in Loyalty.
The balance type used for Loyalty points payments has two settings that are used to restrict the Loyalty points-payable value of an order:
- Can Redeem for Item Tax – Indicates whether tax can be paid for using Loyalty points payments or not.
- Balance Type Redemption Overrides – A set of Item Classes that have an overridden Redemption Rate. Note that overriding the redemption rate of a package parent class is not currently supported by Loyalty.
The LoyaltyPointsPayableValueInCents
of an Order will be returned as a property of the Order response model, alongside the OrderTotalValueInCents
.
Note this feature requires Loyalty 5.0.2
GET: /orders/{{userSessionId}}
Response:
{
"order": {
"orderTotalValueInCents": 365, // The total value of the Order
"loyaltyPointsPayableValueInCents": 100, // The maximum amount that can be paid on the Order using Loyalty points payments
...
}
}
Making a Loyalty points payment
Applying a Loyalty points payment before other payments
You can apply a Loyalty points payment to an order prior to other payments using a combined payment flow.
Note this feature requires Loyalty 5.0.2
POST: /RESTTicketing.svc/order/loyalty-points-payment
Request:
{
"UserSessionId": "{{userSessionId}}",
"AmountInCents": 365,
"CardNumber": "12345678" // The card number of the logged-in Loyalty member
}
Note: The order contents cannot be modified while any Loyalty points payments are applied.
You can also remove any Loyalty points payments applied to an order before the order is completed using the Remove Loyalty Points Payment end-point.
DELETE: /RESTTicketing.svc/order/loyalty-points-payment
Request:
{
"UserSessionId": "{{userSessionId}}"
}
Applying Loyalty points payments during order payment or complete order
You can apply a Loyalty points payment during Order Payment or Complete Order as a PaymentInfo
parameter.
To do this, provide the Loyalty card number, along with "PaymentTenderCategory": "LOYALTY"
.
Note this feature is available in all versions of Loyalty
OrderPayment - POST: /RESTTicketing.svc/order/paymentonly
CompleteOrder - POST: /RESTTicketing.svc/order/payment
Request:
{
"PaymentInfo": {
"CardNumber": "12345678" // The card number of the logged-in Loyalty member
"PaymentValueCents": 365,
"PaymentTenderCategory": "LOYALTY"
},
...
}
Note: The Loyalty Card Definition(s) must be correctly configured in Back Office with the "Member" category.
Multi-member Loyalty points payments
By default, Loyalty points payments are restricted to logged-in Loyalty members for optimal security.
However, multi-member Loyalty points payments are possible for clients of Connect if the appropriate security behaviour for points payments is enabled. Check with your Connect administrator whether this security behaviour is enabled for the Connect instance you’re working with.
Note that clients with the ability to perform multi-member Loyalty points payments:
- Will not enforce the Loyalty Points-Payable Value of an Order.
- Will not validate Loyalty points payments.