Calculates the number of points a buyer can earn from a purchase.
POST
/v2/loyalty/programs/{program_id}/calculate
Calculates the number of points a buyer can earn from a purchase.
Applications might call this endpoint to display the points to the buyer.
If you are using the Orders API to manage orders, provide the order_id
and (optional) loyalty_account_id
. Square reads the order to compute the points earned from the base loyalty program and an associated loyalty promotion.
If you are not using the Orders API to manage orders, provide transaction_amount_money
with the purchase amount. Square uses this amount to calculate the points earned from the base loyalty program, but not points earned from a loyalty promotion. For spend-based and visit-based programs, the tax_mode
setting of the accrual rule indicates how taxes should be treated for loyalty points accrual. If the purchase qualifies for program points, call ListLoyaltyPromotions and perform a client-side computation to calculate whether the purchase also qualifies for promotion points. For more information, see Calculating promotion points.
The ID of the loyalty program, which defines the rules for accruing points.
The order ID for which to calculate the points. Specify this field if your application uses the Orders API to process orders. Otherwise, specify the transaction_amount_money
.
The purchase amount for which to calculate the points. Specify this field if your application does not use the Orders API to process orders. Otherwise, specify the order_id
.
The ID of the target loyalty account. Optionally specify this field if your application uses the Orders API to process orders.
If specified, the promotion_points
field in the response shows the number of points the buyer would earn from the purchase. In this case, Square uses the account ID to determine whether the promotion's trigger_limit
(the maximum number of times that a buyer can trigger the promotion) has been reached. If not specified, the promotion_points
field shows the number of points the purchase qualifies for regardless of the trigger limit.
The number of points that the buyer can earn from the base loyalty program.