InsertTransactionFee

Deduct requested amount from card as a fee using one of the following (integer) fee type IDs:

  1. SMS Balance Enquiry
  2. ATM Balance Enquiry
  3. ATM Balance Enquiry – Agent Bank
  4. ATM Cash Withdrawal
  5. ATM Cash Withdrawal – Agent Bank
  6. POS Purchase
  7. POS Purchase with Cashback
  8. SMS Transaction Notification
  9. Emergency Cash Advance
  10. Emergency Card Replacement/Cash Advance
  11. Cashout
  12. Card Order
  13. Card Delivery
  14. Card Load
  15. Monthly Active Card
  16. Monthly Inactive Card
  17. Non-participating Merchant Fee
  18. Deposit
  19. Card Initiation
  20. Card Reinitiation
  21. Replacement Card
  22. Reissue Fee
  23. SMS PIN Change Fee
  24. Card To Profile Transfer Fee
  25. Transfer Fee
  26. Monthly Expired Card Fee
  27. Forex Adjustment Fee
  28. Bulk ATM Fees
  29. USSD Transfer Fee
  30. Cashback No Purchase Fee
  31. Companion Declined Fee – Insufficient Funds
  32. Companion Declined Fee – Withdrawal Limit Exceeded
  33. Companion Declined Fee – Security Violation
  34. Companion Declined Fee – Transaction Not Supported
  35. Companion Declined Fee – PIN Tries Exceeded
  36. Companion Declined Fee – Invalid PIN
  37. Companion Declined Fee – PIN Length Error
  38. Companion Declined Fee – Expired Card
  39. Bulk SMS and PIN Change Fee
  40. Airtime Purchase Fee
  41. Card-to-Card Transfer Fee
  42. ATM Forex Adjustment Fee
  43. Moneysend Fee
  44. Service Fee
  45. Subscription Purchase Fee
  46. OTP Generation Fee
  47. Insurance Fee
  48. POS Insufficient Funds Fee
  49. ATM Insufficient Funds Fee
  50. ATM Insufficient Funds Fee – Agent Bank
  51. Ecommerce Fee
  52. Online Purchase Fee
  53. Outgoing EFT
  54. Outgoing EFT – Unsuccessful

Request Path Parameters

ParametertypeLimitsrequiredDescription
terminalIDString10 characters✓The Paymentology issued terminal ID of the terminal requesting the transaction
profileNumberString1-20 characters✓The profile to which the card belongs
cardIdentifierString1-20 characters✓The card number, tracking number or sequence number of the card to charge the fee
feeTypeIDInteger✓The identifier depicting the type of fee to be deducted. (List in method description above)
requestAmountInteger✓The requested amount to be deducted from the card as a fee, in cents
transactionIDString1-255 characters✓Transaction ID number generated by the calling client
transactionDateDate✓Transaction date generated by the calling client
checksumString1-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

ParametertypeDescription
terminalIDStringEcho
profileNumberStringEcho
cardNumberStringNumber of the card found using the cardIdentifier
feeTypeIDIntegerEcho
requestAmountIntegerEcho
clientTransactionIDStringEcho
serverTransactionIDStringTransaction ID generated by Paymentology
balanceAmountIntegerBalance amount in cents
authNumberStringAuthorisation number for the transaction
expiryDateDateThe expiry date of the card
transactionFeeIntegerTransaction fee amount in cents
resultCodeIntegerStatus code indicating the transaction result
resultTextStringText 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>