Webhook architecture

๐Ÿ“˜

Upon transaction generation, Merchant provides hookUrl.

Payze calls back hookUrlV2 with HTTP POST method when any change occurs to the transaction.

๐Ÿšง

Security Recommendation

TODO: Add auth token and security recommendations with your hook url

Expect the following Request body upon Hook activation

{
    "PaymentId": "E066159D6D3C416D9F3490258EBC73F4", // Transaction ID
    "Type": "JustPay", // Method
    "Sandbox": false, // Sandbox(test) transaction identifier
    "PaymentStatus": "Draft", // Payment transaction status {Draft,Captured}
    "Amount": 0.03, // Transaction Amount
    "FinalAmount": null, // Amount after partial refund/commit
    "Currency": "GEL", // Currency 
    "Commission": 2.50, // Transaction Comission
    "Preauthorized": false,
    "CanBeCaptured": false, // Can be commited status
    "CreateDate": 638155893040924688, // Transaction date {data type long}
    "CaptureDate": null, // Transaction final capture date
    "BlockDate": null, // Transaction Block date
    "CardMask": null, // Customer Card Number
    "CardBrand": null, // Card Brand {VISA,MASTERCARD,AMEX}
    "CardCountry": null, // Card Country idetifier
    "CardHolder": null, // Card Owner Info
    "ExpirationDate": null, // Card expiration data
    "RejectionReason": null, // Transaction rejected reason (If rejected)
    "Refund": {
        "Refundable": false, // Refundable {true/false}
        "Amount": null, // Amount refunded
        "RequestedAmount": null, // Refund Requested
        "RefundDate": null, // Refund request data
        "Revisions": [] // Refund requests info
    },
    "Splits": [
        {
        "Amount": 0.01, // Split Amount
        "Iban": "GE33TB0000000000000000", // Split Iban
        "PayIn": 0.0, // PayIn data
        "Status": null, // Split cashout status
        "Description": null, // Split description   
        "CashOutOrder": [] // Split cashout logs
        }
    ]
}

๐Ÿ“˜

Refer to understand more about how transaction statuses are used.

Transaction StatusDescription
DraftWhen the transaction is created and waiting for card details for the next action.
BlockedThe funds have been successfully blocked on the card.
Usually, this means you have used preauthorize : True
Transactions with Blocked statuses need to be committed within 30 days, otherwise they will be refunded automatically.
CapturedThe funds have been captured successfully from the cardholder.
RefundedThe transaction has been refunded fully.
PartiallyRefundedThe transaction amount has been refunded partially.
RejectedThe transaction was rejected, because of different reasons.