Perks and Rewards
Build high-engagement loyalty and card reward programs. Calculate dynamic cash-back, multiplier points, and merchant-funded boosts in real-time as transactions authorize, managing secondary reward ledgers with automatic redemption and disbursement.
System Architecture & Flow
User transacts at merchant. Rook sends auth event containing MCC and merchant data.
Platform identifies eligible campaigns: e.g. 5% dining boost or merchant affiliate bonus.
Accrue pending reward points to the user's secondary points ledger account.
Upon transaction clearing, pending points convert to active balance or statement credit.
1Configure Reward Campaign Rules
Define reward tier rules, category multipliers (e.g. 3x on restaurants, 2x on travel), and merchant-funded affiliate boost partners.
curl -X POST "https://api.sandbox.rookpayments.com/v1/rewards/campaigns" \
-H "Authorization: Bearer rk_test_..." \
-H "X-Program-ID: 7c9e6679-7425-40de-944b-e07fc1f90ae7" \
-H "Content-Type: application/json" \
-d '{
"name": "Summer Dining & Transit 3X",
"reward_type": "points",
"base_multiplier": 1.0,
"rules": [
{ "mcc_group": "dining", "multiplier": 3.0 },
{ "mcc_group": "transit", "multiplier": 2.0 }
],
"merchant_boosts": [
{ "merchant_name": "UBER", "bonus_percentage": 5.0, "funded_by": "affiliate_partner" }
]
}'2Accrue Reward Points in Secondary Ledger
Track customer rewards in a dedicated double-entry reward points ledger account, keeping points valuation strictly partitioned from depository cash.
curl -X POST "https://api.sandbox.rookpayments.com/v1/ledgers/rewards/journals" \
-H "Authorization: Bearer rk_test_..." \
-H "Content-Type: application/json" \
-d '{
"reference_transaction_id": "txn_cleared_99182",
"user_rewards_account_id": "acc_rew_usr_1029",
"entries": [
{ "direction": "debit", "account": "sys_rewards_liability_pool", "units": 450 },
{ "direction": "credit", "account": "acc_rew_usr_1029", "units": 450 }
],
"description": "3X Points on Dining - Merchant: Sweetgreen"
}'3Disburse Instant Cash-Back or Statement Credits
Allow users to redeem accumulated reward points instantly as a direct statement credit against their card balance, or push to bank account via FedNow.
curl -X POST "https://api.sandbox.rookpayments.com/v1/rewards/redemptions" \
-H "Authorization: Bearer rk_test_..." \
-H "Content-Type: application/json" \
-d '{
"user_id": "usr_9912",
"points_redeemed": 5000,
"redemption_method": "statement_credit",
"destination_card_id": "crd_109283",
"credit_amount": 5000,
"currency": "USD"
}'