Instant Payment Notification (IPN)
IPN is a message service that notifies you of events related to Payson payments as they happen. You can use it to automate back-office and administrative functions, such as fulfilling orders, tracking customers, or providing information related to a payment.
An IPN message is sent to the URL specified in the ipnNotificationUrl field of the Pay request when the payment changes its state.
An IPN message consists of the same NVP formatted content as a request to PaymentDetails will give except for the response envelope parameters.
Must use port 80 or 443 (the standard http and https ports)
The IPN protocol consists of three steps:
- Payson sends your IPN listener a message that notifies you of the event.
- Your listener sends the complete unaltered message back to Payson; the message must contain the same parameters in the same order and be encoded in the same way as the original message.
- Payson sends a single word back, which is either VERIFIED if the message originated from Payson or INVALID if there is any discrepancy with what was originally sent.
After successfully completing the protocol, your back-office or administrative process can use the contents of the IPN message and respond appropriately. For example, the IPN message may trigger your system to print shipping labels for items whose payments have cleared, investigate disputes and chargebacks, store information in an accounting system and so on.
Payson can only make requests to the standard ports, meaning port 80 for http and 443 for https requests. If you specify another port the IPN call will fail.
ipnNotificationUrlmay be called more than once from the Payson service for a given payment. Also note that IPN messages are sent for all status changes, even when a payment fails.
- validate the IPN content
- verify the payment status
before marking the payment as done in your system.