digitaluapi

<back to all web services

PayFastWebHook

The following routes are available for this service:
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

VB.NET PayFastWebHook DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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

{
	
}