| POST | /payfast/webhook/{PublicAccessGuid} |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| MPaymentId | body | string | No | |
| PfPaymentId | body | string | No | |
| PaymentStatus | body | string | No | |
| ItemName | body | string | No | |
| ItemDescription | body | string | No | |
| AmountGross | body | double | No | |
| AmountFee | body | double | No | |
| AmountNet | body | double | No | |
| CustomStr1 | body | string | No | |
| CustomStr2 | body | string | No | |
| CustomStr3 | body | string | No | |
| CustomStr4 | body | string | No | |
| CustomStr5 | body | string | No | |
| CustomInt1 | body | int | No | |
| CustomInt2 | body | int | No | |
| CustomInt3 | body | int | No | |
| CustomInt4 | body | int | No | |
| CustomInt5 | body | int | No | |
| NameFirst | body | string | No | |
| NameLast | body | string | No | |
| EmailAddress | body | string | No | |
| MerchantId | body | string | No | |
| Signature | body | string | No | |
| Token | body | string | No | |
| BillingDate | body | DateTime | No | |
| PublicAccessGuid | path | Guid | No | |
| Sandbox | body | bool | No |
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /payfast/webhook/{PublicAccessGuid} HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
m_payment_id: String,
pf_payment_id: String,
payment_status: String,
item_name: String,
item_description: String,
amount_gross: 0,
amount_fee: 0,
amount_net: 0,
custom_str1: String,
custom_str2: String,
custom_str3: String,
custom_str4: String,
custom_str5: String,
custom_int1: 0,
custom_int2: 0,
custom_int3: 0,
custom_int4: 0,
custom_int5: 0,
name_first: String,
name_last: String,
email_address: String,
merchant_id: String,
signature: String,
token: String,
billing_date: 0001-01-01,
PublicAccessGuid: 00000000000000000000000000000000,
Sandbox: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
}