We’ve migrated our documentation to a new site, which means some URLs have changed.
Subscriptions

Headless Transaction Management

As technology continues to evolve, the landscape of transaction processing across networks remains susceptible to various processing issues. These issues can manifest differently across front-end and back-end processing systems and the providers used. Currently, the industry benchmark for headless transactions during processing hovers at approximately 1%. Piano, however, is actively monitoring and optimizing its systems and integrations. Furthermore, Piano has implemented headless transaction identification and reconciliation mechanisms.

What is a Headless Transaction?

  • A headless transaction refers to a transaction that lacks the complete information necessary for proper processing between systems, typically due to communication issues.

Causes of Headless Transactions

Headless transactions can occur during payment processing for several reasons, including:

  1. Users lose connection during payment processing.

  2. Checkout is restarted before the completion of communication between systems.

  3. Specific devices or operating systems interfering with system communication.

  4. Users' browsers are equipped with improper extensions or plugins that block redirects, JavaScript, or other essential aspects of standard web page functionality.

  5. API rate limits imposed by the provider.

  6. Other reasons originating from user actions.

  7. Standard Communication Flow between Piano and 3rd Party Payment Providers

When can headless transactions occur?

During the standard checkout process, there are three key points at which Piano needs to communicate with 3rd party providers:

  1. Initiate payment -> Objects prepared

    Headless transactions can occur for the reasons mentioned earlier.

  2. Process payment -> Sending objects to the 3rd party provider

    Headless transactions can occur due to the aforementioned reasons.

  3. Complete payment -> Conversion, access, subscription, and user payment information updated after receiving success from the provider

    Headless transactions can occur due to the same set of reasons.

How does Piano mitigate the headless transactions?

Piano's monitoring system continually reviews all transactions to ensure that all necessary system entities have been successfully created. If an anomaly is detected, the reconciliation job cross-references the 3rd party provider system to determine the payment's success. Any missing information is subsequently updated in Piano's system.

In cases where a headless transaction occurs during the purchase process, and the user restarts their checkout to complete another payment, multiple transactions may be initiated or created. Depending on the available features like API calls or webhooks for retry and recovery offered by the 3rd party provider, Piano can recreate the entities required for proper subscription and access handling in Subscription Management + Billing. If a double charge occurs, the headless job can automatically refund the duplicate payment to the end user.

By default duplicate transactions are automatically refunded by Piano's headless reconciliation job, however if you wish to disable the automated refunds or would like to handle such cases on your end by manual refunding, please contact Piano Support at support@piano.io to disable the automated refunds.

Frequency of Headless and Reconciliation Job Operations

The headless job initiates every 6 hours, while the reconciliation job runs hourly.

Headless Transaction Rate Observed by Piano

Due to the aforementioned causes, Piano currently observes a headless transaction rate of approximately 0.086% across all clients and providers on a monthly basis. This rate is significantly below the industry average of 1%. Piano remains committed to continuous monitoring and optimization of its processing to prevent and mitigate headless transactions.

Last updated: