PayWatch
PayWatch is a tracking algorithm that checks the final status of payments on the providers' side.
Overview: The related algorithm is triggered when payments remain in a pending state and, by default, checks the payment status after 25 minutes. For payments that remain pending, it sends a notification indicating the final status. In order for this notification to be sent, you must configure the PayWatch setting at the time the payment order is created. Otherwise, Paywall will still perform the status check but will not send you a notification.
PayWatchIdPayWatch identifier (sent for informational purposes only)
PaymentIdPayment identifier
MerchantUniqueCodeTracking number provided at the time of payment creation
PaymentLastStatusIdThe status of the payment before PayWatch intervention
See: Review
PaymentNewStatusIdThe status of the payment after PayWatch intervention
See: Review
PaymentStatusChangedWas there a change in the payment status? Example: Started → Successful
ProviderRequestThe request sent to the provider at the time of payment inquiry
ProviderResponseThe response received from the provider at the time of payment inquiry
ProviderHttpStatusThe HTTP response received from the provider at the time of inquiry
PaymentDateTimeThe date of the payment
HashIt is the Hash value used to verify that the request originated from Paywall. It is generated using the System Webhook Hash Key created in the Paywall panel.
The key mentioned above may vary depending on the value of the HashKeyType parameter. A dynamic structure should be implemented.
HashFormatThe format type used to generate the hash value Bkz: Hash Formats
HashKeyTypeThe type of key used in generating the hash value See: Key Types
public class PayWatchCallbackRequest
{
public int PayWatchId { get; set; }
public int PaymentId { get; set; }
public string MerchantUniqueCode { get; set; }
public int PaymentLastStatusId { get; set; }
public int PaymentNewStatusId { get; set; }
public bool PaymentStatusChanged { get; set; }
public object ProviderRequest { get; set; }
public object ProviderResponse { get; set; }
public int ProviderHttpStatus { get; set; }
public DateTime PaymentDateTime { get; set; }
}Last updated