Confirm payments

Confirm Tap to Pay payments on your backend with notifications.

The app can be closed, lose the network or be tampered with. Only your backend can confirm that a Tap to Pay payment went through: subscribe a listener to the Tap to Pay events.

Create the listener directly in your back office on app.paygreen.fr, or with the API (see Listeners).

🚧

Tap to Pay has its own events

A listener on payment_order.authorized or payment_order.successed does not receive Tap to Pay payments. Subscribe to the payment_order.tap_to_pay.* events below.


Payment Order events

EventWhen
payment_order.tap_to_pay.pendingThe Payment Order was created.
payment_order.tap_to_pay.authorizedThe payment is authorized. We recommend you listen to it.
payment_order.tap_to_pay.successedThe payment is captured.
payment_order.tap_to_pay.refusedThe card was declined. The Payment Order is closed.
payment_order.tap_to_pay.canceledThe payment was canceled.
payment_order.tap_to_pay.expiredThe Payment Order expired before being paid.
payment_order.tap_to_pay.errorThe payment failed.
payment_order.tap_to_pay.refundedThe payment was refunded.
Transaction and operation events

Transactions:

  • transaction.tap_to_pay.pending
  • transaction.tap_to_pay.authorized
  • transaction.tap_to_pay.captured
  • transaction.tap_to_pay.refused
  • transaction.tap_to_pay.canceled
  • transaction.tap_to_pay.expired
  • transaction.tap_to_pay.error
  • transaction.tap_to_pay.refunded
  • transaction.tap_to_pay.partly_refunded

Operations:

  • operation.tap_to_pay.pending
  • operation.tap_to_pay.authorized
  • operation.tap_to_pay.captured
  • operation.tap_to_pay.refused
  • operation.tap_to_pay.canceled
  • operation.tap_to_pay.expired
  • operation.tap_to_pay.error
  • operation.tap_to_pay.refund

A listener can mix standard and Tap to Pay events, for example payment_order.authorized and payment_order.tap_to_pay.authorized if you also take online payments.


Check the Payment Order

When in doubt, for example after a NETWORK_ERROR during collectPayment(), read the Payment Order from your backend before charging the customer again. Its status tells you whether the payment went through.

See Notifications for the payload, the signature header and retries.


Did this page help you?