Payments
Payment events must be sent on the FT CRM Integration API.
REST API
RabbitMQ Connector
Kafka Connector
⬆️ POST /v1/integration/payment
RabbitMQ Message Properties
key | value |
---|---|
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 |
---|---|
key | value |
type | PAYMENT |
- This endpoint will let you trigger 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.
Notes
- 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.
Request
Key | Type | Required? | Accepted Values | Description |
---|---|---|---|---|
Key | Type | Required? | Accepted Values | Description |
amount | float | Yes | N/A | Amount |
bonus_code | string | No | "", "BONUSCODE" | Bonus code |
currency | string | Yes | Format: ISO 4217 e.g. "EUR" | Transactions currency |
exchange_rate | float | Yes | e.g. 0.1 | The exchange rate at the timestamp |
fee_amount | float | No | N/A | Amount of fee |
note | string | No | e.g. "insufficient_funds" | N/A |
origin | string | Yes | e.g. "www.brand.com" | N/A |
payment_id | string | Yes | "", "12345" | Platform Id of the payment |
status | string | Yes | "Approved", "Requested", "Rejected", "Rollback", "Cancelled" | Status of the event |
timestamp | string | Yes | Format: RFC3339
"2015-03-02T8:27:58.10Z" | Timestamp |
type | string | Yes | "Credit" (Deposit)
"Debit" (Withdrawal) | Payment type |
user_id | string | Yes | "12345" | User Id |
vendor_id | string | Yes | "123" | Platform Id of the vendor |
vendor_name | string | No | e.g. "Credit Card" | Platform name of the vendor |