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

terminalID

string,  10 characters,  required

The Paymentology issued terminal ID of the terminal requesting the transaction

profileNumber

string,  1-20 characters,  required

The profile to which the card belongs

cardIdentifier

string,  1-20 characters,  required

The card number, tracking number or sequence number of the card to charge the fee

feeTypeID

integer,  required

The identifier depicting the type of fee to be deducted. (List in method description above)

requestAmount

integer,  required

The requested amount to be deducted from the card as a fee, in cents

transactionID

string,  1-255 characters,  required

Transaction ID number generated by the calling client

transactionDate

date,  required

Transaction date generated by the calling client

checksum

string,  1-255 characters,  required

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

STATUS200 OK

Schema

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>

 

Was this page helpful?

Are you ready to use our APIs

If you are not yet registered with us.

Still have questions? Contact us.