PDT & ITN Variables

Detailed below are the possible variables returned to the receiver as the response to a PDT request or as part of an ITN from PayFast.

Transaction Details

Name Description Required Length Notes
m_payment_id Unique transaction ID on the receiver's system. Optional
pf_payment_id Unique transaction ID on PayFast. Required
payment_status The status of the payment. Required
item_name The name of the item being charged for. Required 100 char
item_description The description of the item being charged for. Optional 255 char
amount_gross The total amount which the payer paid. Required
amount_fee The total in fees which was deducated from the amount. Required
amount_net The net amount credited to the receiver's account. Required
custom_str1..5 The series of 5 custom string variables (custom_str1, custom_str2...) originally passed by the receiver during the payment request. Optional 255 char
custom_int1..5 The series of 5 custom integer variables (custom_int1, custom_int2...) originally passed by the receiver during the payment request. Optional

Payer Information

Name Description Required Length Notes
name_first First name of the payer. Optional 100 char
name_last Last name of the payer. Optional 100 char
email_address Email address of the payer. Optional 100 char

Receiver Information

Name Description Required Length Notes
merchant_id The Merchant ID as given by the PayFast system. Used to uniquely identify the receiver's account. Required

Security Information

Name Description Required Length Notes
signature A security signature of the transmitted data taking the form of an MD5 hash of the submitted variables. The string from which the hash is created, is the concatenation of the name value pairs of all the non-blank variables with ';' used as a separator eg. "name_first=John;name_last=Doe;" where pairs are listed in alphabetic order by name. This hash should be independently generated by the receiver and compared with this value to ensure the integrity of the data transfer. Optional 32 char