Payments
Payment events must be sent on the FT CRM Integration API.
RabbitMQ Connector
Kafka Connector
REST API
RabbitMQ Message Properties
key | value |
type | PAYMENT |
The type is expected as a property (but not in the payload) of the RabbitMQ Message. Any header will be ignored.
Kafka Message Headers
key | value |
type | PAYMENT |
⬆️ POST /v1/integration/payment
- This message needs to be published based on deposits & withdrawals.
- These events contribute to the segmentation model for any payment activity e.g. Deposit Count, Last Deposit Date, Average Deposit Amount.
- You can publish this message both when the payment has been initiated and when it has been completed, the more statuses provided, the better.
- The bare minimum to send should be events of approved deposits.
exchange_rate - In case the currency of the event is not Base Currency, exchange_rate needs to be sent to convert the amount back to the Base Currency by multiplying the amount with the exchange_rate. This will make segmentation correct in a single currency in case multiple are used.
status - Requested, Approved, Rejected, Rollback, Cancelled.
A Requested payment event can be followed by either an Approved, Rejected, or Cancelled event for the same payment_id. If an Approved payment is rolled back, a payment event with the same payment_id and status Rollback should be sent. In terms of segmentation data:
- Whenever a payment event with type Credit status Approved is received the player’s deposit amount is increased by the amount specified in the event.
- Whenever a payment event with type Credit status Rollback is received the player’s deposit amount is decreased by the amount specified in the event.
- Whenever a payment event with type Debit status Approved is received the player’s withdrawal amount is increased by the amount specified in the event.
- Whenever a payment event with type Debit status Rollback is received the player’s withdrawal amount is decreased by the amount specified in the event.
If you plan on sending Rollback as status, please inform your integration manager.
Example Payload
Data Type
Required properties are marked with *
Key | Example Value | Description |
amount * | 32.76 | Amount |
bonus_code | "", "CHRISTMAS2023" | Bonus code |
currency * | "USD" | Transactions currency in ISO 4217 format |
exchange_rate * | 0.91 | The exchange rate at the timestamp |
fee_amount * | 2.34 | Fee Amount, if not applicable then send 0 |
note | "insufficient_funds" | Any useful notes |
origin * | "sub.example.com" | The Origin |
payment_id * | "23541" | Platform Id of the payment |
status * | "Approved" "Requested" "Rejected" "Rollback" "Cancelled" | Payment Status. Please select a value from the provided list of options |
timestamp * | "2015-03-02T8:27:58.10Z" | Timestamp of the payment in RFC3339 format |
type * | "Credit" (Deposit)
"Debit" (Withdrawal) | Payment type. Please select a value from the provided list of options |
user_id * | "7865312321" | User Id |
vendor_id * | "562" | Platform Id of the vendor |
vendor_name | "Skrill" | Platform name of the vendor |