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.

Key
Description

PayWatch identifier (sent for informational purposes only)

Payment identifier

Tracking number provided at the time of payment creation

The status of the payment before PayWatch intervention

See: Review

The status of the payment after PayWatch intervention

See: Review

Was there a change in the payment status? Example: Started → Successful

The request sent to the provider at the time of payment inquiry

The response received from the provider at the time of payment inquiry

The HTTP response received from the provider at the time of inquiry

The date of the payment

It 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.

The format type used to generate the hash value Bkz: Hash Formats

The 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