digitaluapi

<back to all web services

PayFastWebHook

The following routes are available for this service:
POST/payfast/webhook/{PublicAccessGuid}

export class PayFastWebHook
{
    // @DataMember(Name="m_payment_id")
    public m_payment_id: string;

    // @DataMember(Name="pf_payment_id")
    public pf_payment_id: string;

    // @DataMember(Name="payment_status")
    public payment_status: string;

    // @DataMember(Name="item_name")
    public item_name: string;

    // @DataMember(Name="item_description")
    public item_description: string;

    // @DataMember(Name="amount_gross")
    public amount_gross: number;

    // @DataMember(Name="amount_fee")
    public amount_fee: number;

    // @DataMember(Name="amount_net")
    public amount_net: number;

    // @DataMember(Name="custom_str1")
    public custom_str1: string;

    // @DataMember(Name="custom_str2")
    public custom_str2: string;

    // @DataMember(Name="custom_str3")
    public custom_str3: string;

    // @DataMember(Name="custom_str4")
    public custom_str4: string;

    // @DataMember(Name="custom_str5")
    public custom_str5: string;

    // @DataMember(Name="custom_int1")
    public custom_int1: number;

    // @DataMember(Name="custom_int2")
    public custom_int2: number;

    // @DataMember(Name="custom_int3")
    public custom_int3: number;

    // @DataMember(Name="custom_int4")
    public custom_int4: number;

    // @DataMember(Name="custom_int5")
    public custom_int5: number;

    // @DataMember(Name="name_first")
    public name_first: string;

    // @DataMember(Name="name_last")
    public name_last: string;

    // @DataMember(Name="email_address")
    public email_address: string;

    // @DataMember(Name="merchant_id")
    public merchant_id: string;

    // @DataMember(Name="signature")
    public signature: string;

    // @DataMember(Name="token")
    public token: string;

    // @DataMember(Name="billing_date")
    public billing_date: string;

    public PublicAccessGuid: string;
    public Sandbox: boolean;

    public constructor(init?: Partial<PayFastWebHook>) { (Object as any).assign(this, init); }
}

TypeScript 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

{
	
}