| POST | /payfast/webhook/{PublicAccessGuid} |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports digitaluapi.ServiceModel
Namespace Global
Namespace digitaluapi.ServiceModel
Public Partial Class PayFastWebHook
<DataMember(Name:="m_payment_id")>
Public Overridable Property MPaymentId As String
<DataMember(Name:="pf_payment_id")>
Public Overridable Property PfPaymentId As String
<DataMember(Name:="payment_status")>
Public Overridable Property PaymentStatus As String
<DataMember(Name:="item_name")>
Public Overridable Property ItemName As String
<DataMember(Name:="item_description")>
Public Overridable Property ItemDescription As String
<DataMember(Name:="amount_gross")>
Public Overridable Property AmountGross As Double
<DataMember(Name:="amount_fee")>
Public Overridable Property AmountFee As Double
<DataMember(Name:="amount_net")>
Public Overridable Property AmountNet As Double
<DataMember(Name:="custom_str1")>
Public Overridable Property CustomStr1 As String
<DataMember(Name:="custom_str2")>
Public Overridable Property CustomStr2 As String
<DataMember(Name:="custom_str3")>
Public Overridable Property CustomStr3 As String
<DataMember(Name:="custom_str4")>
Public Overridable Property CustomStr4 As String
<DataMember(Name:="custom_str5")>
Public Overridable Property CustomStr5 As String
<DataMember(Name:="custom_int1")>
Public Overridable Property CustomInt1 As Integer
<DataMember(Name:="custom_int2")>
Public Overridable Property CustomInt2 As Integer
<DataMember(Name:="custom_int3")>
Public Overridable Property CustomInt3 As Integer
<DataMember(Name:="custom_int4")>
Public Overridable Property CustomInt4 As Integer
<DataMember(Name:="custom_int5")>
Public Overridable Property CustomInt5 As Integer
<DataMember(Name:="name_first")>
Public Overridable Property NameFirst As String
<DataMember(Name:="name_last")>
Public Overridable Property NameLast As String
<DataMember(Name:="email_address")>
Public Overridable Property EmailAddress As String
<DataMember(Name:="merchant_id")>
Public Overridable Property MerchantId As String
<DataMember(Name:="signature")>
Public Overridable Property Signature As String
<DataMember(Name:="token")>
Public Overridable Property Token As String
<DataMember(Name:="billing_date")>
Public Overridable Property BillingDate As Date
Public Overridable Property PublicAccessGuid As Guid
Public Overridable Property Sandbox As Boolean
End Class
End Namespace
End Namespace
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
{
}