Cashback Wallet Payout Flow - payout to partner bank account

A user can request and track various data relating to their usage of Deals and Transactions. These calls require the user to be registered with Sniptech, so the Partner User Registration flow mentioned earlier may need to be followed if the users have not been registered yet.

On request of the partner Sniptech marks all wallets for “auto payout”, meaning a payout to a set bank account is automatically initiated as soon as the user payout threshold is exceeded. Depending on the settings for the Partner, these payments will be made periodically to the Partner bank account.

When a payout is created and processed the user balance will be set to 0. A transaction is included in the users transactions overview representing the payout.

Picture

Retrieve user balance summary

The balance per transaction state is available on the GET {{base_url}}/cashback/v1/balances endpoint. The balances endpoint supports various grouping options, not relevant for most applications.

Sample request:

GET /payouts 
-- header 'Authorization: Bearer <access_token>'
-- header 'X-User-Id: <Sniptech User Id>'

Sample response:

{ 
"pagination": {
"page": 1,
"limit": 100,
"total": 7,
"pageCount": 1
},
"payoutRestrictions": {
"hasPendingPayout": true,
"currency": "EUR",
"amountMinimum": 1.0,
"amountMaximum": 1.5,
"allowedIncrement": 0.1
},
"payouts": [
{
"payoutId": "firstpayout",
"walletId": "xyx xxx xxx",
"amount": 1.0,
"currency": "EUR",
"iban": "NL48INGB000XXXXXX",
"details": null,
"status": "pending",
"rejectionMessage": null,
"creationDate": "2022-05-10T11:39:03Z",
"updatedDate": "2022-05-11T08:34:47Z",
"paidDate": "2022-05-10"
}
]
}

Retrieve user transactions

Transaction details are available on the GET {{base_url}}/cashback/v1/transactions endpoint.

Sample request:

GET /transactions 
-- header 'Authorization: Bearer <access_token>'
-- header 'X-User-Id: <Sniptech User Id>'

Sample response:

{ 
"pagination": {
"page": 1,
"limit": 100,
"total": ,
"pageCount": 1
},
"transactions": [
{
"transactionId": "7",
"userId": "XXX XXXX",
"walletId": "XXX XXXX",
"eventSource": "cashback",
"eventSourceId": "626a95131cf9f168",
"referralId": null,
"amount": 0.4,
"currency": "EUR",
"status": "pending",
"store": {
"storeId": "70537",
"name": "xyz",
"logoUrl": "https://static.xyz.com/image/stores/70537.jpg",
"urlPathSegment": "xyz-nl"
},
"description": "xyz",
"orderAmount": 20.72,
"orderDate": "2022-04-28",
"creationDate": "2022-04-28T15:30:44Z",
"updatedDate": "2022-05-06T15:29:24Z",
"relatedTransactions": []
}
]
}

Retrieve user payouts

User requested or automatically generated payout requests are available on the GET {{base_url}}/cashback/v1/payouts endpoint. The endpoint also returns feedback on allowed payout requests, based on set restrictions for minimum and maximum payout amounts and amount increments.

Sample request:

GET /payouts 
-- header 'Authorization: Bearer <access_token>'
-- header 'X-User-Id: <Sniptech User Id>'

Sample response:

{ 
"pagination": {
"page": 1,
"limit": 100,
"total": 7,
"pageCount": 1
},
"payoutRestrictions": {
"hasPendingPayout": true,
"currency": "EUR",
"amountMinimum": 1.0,
"amountMaximum": 1.5,
"allowedIncrement": 0.1
},
"payouts": [
{
"payoutId": "firstpayout",
"walletId": "xyx xxx xxx",
"amount": 1.0,
"currency": "EUR",
"iban": "NL48INGB000XXXXXX",
"details": null,
"status": "pending",
"rejectionMessage": null,
"creationDate": "2022-05-10T11:39:03Z",
"updatedDate": "2022-05-11T08:34:47Z",
"paidDate": "2022-05-10"
}
]
}

Retrieve all registered clicks

Clicks registered by users are stored and can be retrieved on the GET {{base_url}}cashback/v1/clicks endpoint.

Sample request:

GET /clicks 
-- header 'Authorization: Bearer <access_token>'
-- header 'X-User-Id: <Sniptech User Id>'

Sample response:

{ 
"pagination": {
"page": 1,
"limit": 100,
"total": 1,
"pageCount": 1
},
"clicks": [
{
"clickId": "07f4a9aded6b434dbc8d6936a36566d2",
"subId": "168-OBS-07f4a9aded6b434dbc8d6936a36566d2",
"store": {
"storeId": "85213",
"name": "xyz",
"logoUrl": "https://static.xyz.com/image/stores/85213.jpg",
"urlPathSegment": "budget-xyz-nl"
},
"dealId": null,
"ipAddressWan": "3.236.22.236",
"clickDate": "2022-06-07T16:21:29.587Z"
}
]
}