Understanding pay-in webhook notifications

When webhooks are set up, 3 types of webhooks can be configured:

  • Pay-ins
  • Payouts
  • Account verifications.

The admin dashboard administrator will need to consider which statuses should be sent to the Server Server.

Pay-in status

 

Webhook event

Webhooks 

transaction status

Admin dashboard webhook name 

Admin dashboard pay-in status

Description

PAYIN_CREATED

INITIATED

Pay-in created

The customer has started the pay-in journey and is selecting their bank.

PAYIN_REDIRECT

PENDING_USER_AUTHORISATION

Pay-in redirected

The customer has been redirected to the bank.

PAYIN_DECISION

CANCELLED

Pay-in decision - cancelled

The pay-in has been cancelled by the customer or bank.

PAYIN_DECISION

FAILED

Pay-in decision - failed

The pay-in has failed to be authorised by the bank.

PAYIN_DECISION

REJECTED_BY_ASPSP

Pay-in decision - rejected

The pay-in has been rejected by the payer’s bank.

PAYIN_ERROR

ERROR

Pay-in error

An error has occurred during the pay-in journey.

PAYIN_DECISION

ACCEPTED

PayIn Decision - Accepted

The Payin has been Accepted for processing by the Payer’s Bank

PAYIN_COMPLETE

COMPLETE

Payin Complete

The Payin has settled and funds have arrived at the merchant’s bank

2nd image that needs changing (1)

The most critical notifications from a completion of services point are the Accepted and Complete state. These are the webhooks which typically trigger the release of goods and services. A quick summary of the two status are:

  • ACCEPT status generally happens within seconds but is only 99.5% accurate
  • COMPLETE status gives guaranteed delivery of funds, but can take days for EUR currency with European banks which haven’t updated to SEPA Instant Payments yet.

Accepted status

‘Accepted status’ is returned when a bank has completed basic checks on a payment instruction – the payment details are valid, the customer has funds etc. The bank then sends an accepted status to Yaspa which denotes their intention to pay the transaction. 

All payments will generally reach the accepted state in seconds. With the median time being around 8 seconds. However, delays can occur, especially when a transaction is flagged for manual processing. Around 4% of transactions take over 10 minutes before they reach the accepted stage.

Whilst banks should process payments from this point, some banks still perform additional checks after the accepted status and these checks can still ultimately lead to a transaction being rejected. 

Around 99.5% of transactions that are accepted end up being paid, and we are working with our banking partners to make this higher still, by helping to educate them on correct open banking ISO status processing.

Complete status

The ‘complete status’ occurs when Yaspa receives notification from the payee bank – the merchant bank – that the payment has arrived. This means the merchant can safely release goods and services.

Settlement time can vary from country to country and bank to bank, based on the payment rails used to make the payment.

Great British Pound (GBP) – these payments use the Faster Payment Services (FPS) payment rails. Median settlement time is around 8 seconds, In some cases, transfers can take as long as two hours—though this is more likely to occur outside of normal business hours or if one party is not a direct FPS participant.

Euro (EUR) – these payments use the Single Euro Payments Area (SEPA) payment rails. Within SEPA there is:

  • SEPA Credit Transfer (SCT) – which takes up to 3 business days to settle.
  • SEPA Instant – which takes a median of 8 seconds to settle.

The determination of which payment rails is used defined by the payers’ bank and sometimes by where the payment is being made to.

For SCT transactions that take several days to settle, “complete” notifications are delayed by this same period.

Related articles