Deduct requested amount from card as a fee using one of the following (integer) fee type IDs:
- SMS Balance Enquiry
- ATM Balance Enquiry
- ATM Balance Enquiry – Agent Bank
- ATM Cash Withdrawal
- ATM Cash Withdrawal – Agent Bank
- POS Purchase
- POS Purchase with Cashback
- SMS Transaction Notification
- Emergency Cash Advance
- Emergency Card Replacement/Cash Advance
- Cashout
- Card Order
- Card Delivery
- Card Load
- Monthly Active Card
- Monthly Inactive Card
- Non-participating Merchant Fee
- Deposit
- Card Initiation
- Card Reinitiation
- Replacement Card
- Reissue Fee
- SMS PIN Change Fee
- Card To Profile Transfer Fee
- Transfer Fee
- Monthly Expired Card Fee
- Forex Adjustment Fee
- Bulk ATM Fees
- USSD Transfer Fee
- Cashback No Purchase Fee
- Companion Declined Fee – Insufficient Funds
- Companion Declined Fee – Withdrawal Limit Exceeded
- Companion Declined Fee – Security Violation
- Companion Declined Fee – Transaction Not Supported
- Companion Declined Fee – PIN Tries Exceeded
- Companion Declined Fee – Invalid PIN
- Companion Declined Fee – PIN Length Error
- Companion Declined Fee – Expired Card
- Bulk SMS and PIN Change Fee
- Airtime Purchase Fee
- Card-to-Card Transfer Fee
- ATM Forex Adjustment Fee
- Moneysend Fee
- Service Fee
- Subscription Purchase Fee
- OTP Generation Fee
- Insurance Fee
- POS Insufficient Funds Fee
- ATM Insufficient Funds Fee
- ATM Insufficient Funds Fee – Agent Bank
- Ecommerce Fee
- Online Purchase Fee
- Outgoing EFT
- Outgoing EFT – Unsuccessful
Request Path Parameters
| Parameter | type | Limits | required | Description |
|---|---|---|---|---|
| terminalID | String | 10 characters | ✓ | The Paymentology issued terminal ID of the terminal requesting the transaction |
| profileNumber | String | 1-20 characters | ✓ | The profile to which the card belongs |
| cardIdentifier | String | 1-20 characters | ✓ | The card number, tracking number or sequence number of the card to charge the fee |
| feeTypeID | Integer | ✓ | The identifier depicting the type of fee to be deducted. (List in method description above) | |
| requestAmount | Integer | ✓ | The requested amount to be deducted from the card as a fee, in cents | |
| transactionID | String | 1-255 characters | ✓ | Transaction ID number generated by the calling client |
| transactionDate | Date | ✓ | Transaction date generated by the calling client | |
| checksum | String | 1-255 characters | ✓ | HMAC-SHA256 hashed signature of the concatenated method name with all argument values using the terminal password as private key |
<?xml version="1.0"?>
<methodCall>
<methodName>InsertTransactionFee</methodName>
<params>
<param>
<value>
<string>ABC1234567</string>
</value>
</param>
<param>
<value>
<string>P12345</string>
</value>
</param>
<param>
<value>
<string>C987654321</string>
</value>
</param>
<param>
<value>
<int>1</int>
</value>
</param>
<param>
<value>
<int>1000</int>
</value>
</param>
<param>
<value>
<string>T987654321</string>
</value>
</param>
<param>
<value>
<dateTime.iso8601>2023-11-08T12:44:44</dateTime.iso8601>
</value>
</param>
<param>
<value>
<string>3b7c4444e1c4444d8e444a4c0c2c2d444e3d4444</string>
</value>
</param>
</params>
</methodCall>Response Parameters
| Parameter | type | Description |
|---|---|---|
| terminalID | String | Echo |
| profileNumber | String | Echo |
| cardNumber | String | Number of the card found using the cardIdentifier |
| feeTypeID | Integer | Echo |
| requestAmount | Integer | Echo |
| clientTransactionID | String | Echo |
| serverTransactionID | String | Transaction ID generated by Paymentology |
| balanceAmount | Integer | Balance amount in cents |
| authNumber | String | Authorisation number for the transaction |
| expiryDate | Date | The expiry date of the card |
| transactionFee | Integer | Transaction fee amount in cents |
| resultCode | Integer | Status code indicating the transaction result |
| resultText | String | Text indicating the transaction result |
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>terminalID</name>
<value>
<string>ABC1234567</string>
</value>
</member>
<member>
<name>profileNumber</name>
<value>
<string>P12345</string>
</value>
</member>
<member>
<name>cardNumber</name>
<value>
<string>C987654321</string>
</value>
</member>
<member>
<name>feeTypeID</name>
<value>
<int>1</int>
</value>
</member>
<member>
<name>requestAmount</name>
<value>
<int>1000</int>
</value>
</member>
<member>
<name>clientTransactionID</name>
<value>
<string>T987654321</string>
</value>
</member>
<member>
<name>serverTransactionID</name>
<value>
<string>ST123456789</string>
</value>
</member>
<member>
<name>balanceAmount</name>
<value>
<int>50000</int>
</value>
</member>
<member>
<name>authNumber</name>
<value>
<string>123456</string>
</value>
</member>
<member>
<name>expiryDate</name>
<value>
<dateTime.iso8601>2023-11-30T00:00:00</dateTime.iso8601>
</value>
</member>
<member>
<name>transactionFee</name>
<value>
<int>50</int>
</value>
</member>
<member>
<name>resultCode</name>
<value>
<int>200</int>
</value>
</member>
<member>
<name>resultText</name>
<value>
<string>Transaction fee deducted successfully</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>