| POST | /payfast/webhook/{PublicAccessGuid} |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using digitaluapi.ServiceModel;
namespace digitaluapi.ServiceModel
{
public partial class PayFastWebHook
{
[DataMember(Name="m_payment_id")]
public virtual string MPaymentId { get; set; }
[DataMember(Name="pf_payment_id")]
public virtual string PfPaymentId { get; set; }
[DataMember(Name="payment_status")]
public virtual string PaymentStatus { get; set; }
[DataMember(Name="item_name")]
public virtual string ItemName { get; set; }
[DataMember(Name="item_description")]
public virtual string ItemDescription { get; set; }
[DataMember(Name="amount_gross")]
public virtual double AmountGross { get; set; }
[DataMember(Name="amount_fee")]
public virtual double AmountFee { get; set; }
[DataMember(Name="amount_net")]
public virtual double AmountNet { get; set; }
[DataMember(Name="custom_str1")]
public virtual string CustomStr1 { get; set; }
[DataMember(Name="custom_str2")]
public virtual string CustomStr2 { get; set; }
[DataMember(Name="custom_str3")]
public virtual string CustomStr3 { get; set; }
[DataMember(Name="custom_str4")]
public virtual string CustomStr4 { get; set; }
[DataMember(Name="custom_str5")]
public virtual string CustomStr5 { get; set; }
[DataMember(Name="custom_int1")]
public virtual int CustomInt1 { get; set; }
[DataMember(Name="custom_int2")]
public virtual int CustomInt2 { get; set; }
[DataMember(Name="custom_int3")]
public virtual int CustomInt3 { get; set; }
[DataMember(Name="custom_int4")]
public virtual int CustomInt4 { get; set; }
[DataMember(Name="custom_int5")]
public virtual int CustomInt5 { get; set; }
[DataMember(Name="name_first")]
public virtual string NameFirst { get; set; }
[DataMember(Name="name_last")]
public virtual string NameLast { get; set; }
[DataMember(Name="email_address")]
public virtual string EmailAddress { get; set; }
[DataMember(Name="merchant_id")]
public virtual string MerchantId { get; set; }
[DataMember(Name="signature")]
public virtual string Signature { get; set; }
[DataMember(Name="token")]
public virtual string Token { get; set; }
[DataMember(Name="billing_date")]
public virtual DateTime BillingDate { get; set; }
public virtual Guid PublicAccessGuid { get; set; }
public virtual bool Sandbox { get; set; }
}
}
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
{
}