Payment links statuses

Active or inactive payment link

2278

Payment links statuses

A payment link is active or inactive. It becomes inactive under the following conditions:

  • you revoke the link
  • the expiration date has passed (if not set, the link expires 15 minutes after creation).
  • a payment request has been successfully initiated from the link.

While a Payment Link is active, customers can make multiple attempts to use it. Each attempt creates a new Payment Request with its own status.

Here are the possible Payment Link statuses:

StatusDescription
validThe Payment Link is valid and can be used. No payment has been initiated from it.
expired (final)The link has expired due its expiration date, with no payment initiation.
revoked (final)The Payment Link has been revoked, and no payment has been initiated from it.
completed (final)A payment has been successfully initiated from the link.

Payment link completion

A payment link is completed when your customer has successfully confirmed the payment on his bank interface. Be aware that in some rare cases, a payment can be rejected by the bank after a successful initiation. For example, if the bank detects a fraud, the payment request will be rejected but the payment link will keep the final status completed. In that case, you have to create a new payment link to get paid.

Go the next step for more details about the payment requests statuses.

Payment status

Payment status is a field at the payment link level called payment_status.

This status can have four possible values :

🔴 not_paid

🔵 in_progress

🟠 partially_initiated_in_success

🟢 initiated_in_success

List of rules :

  • Base the status on the latest payment_request.
  • For a payment made through a provider without an execution status (such as LCL for example), it should be 🟢 initiated_in_success if it is in PDNG.
  • For a payment made through a provider with an execution status, it should be 🔵 in_progress if it is in PDNG.
  • For a bulk payment, the status should depend on the latest payment_request:
    • if ACSC → 🟢 initiated_in_success
    • if RJCT → 🔴 not_paid
    • if PART → 🟠 partially_initiated_in_success

Those status are also available and sent by our webhook Payment Links - Payment Link updated this event is triggered when a Payment Link is updated.

Example:

{
  "content": {
    "payment_link_id": "64e61033-be1e-4dd3-9564-f03e8a5b6874",
    "payment_link_status": "completed",

    "payment_link_client_reference": "INV124", // not in response if null
		"payement_status": "initiated_in_success",
  },
  "timestamp": 1644507383234,
  "type": "payment.link.updated"
}