Dashboard

Dynamic QR Code

Dynamic QR Codes are specialized codes generated for individual transactions, offering enhanced security and flexibility compared to static QR codes. Each Dynamic QR Code is unique to a specific transaction, making it particularly useful when the payment amount or transaction details vary from customer to customer. These QR codes are widely used in retail environments, where transactions need to be secure and precise.

Characteristics

Uniqueness: Each QR Code is generated specifically for a single transaction, ensuring that it cannot be reused for another transaction.

Defined Value: A specific monetary value must be associated with each Dynamic QR Code at the time of its creation.

Expiration Time: Dynamic QR Codes have a built-in expiration time, which can be set to a minimum of 60 seconds and a maximum of 72 hours.

Payer Definition: The creator of the Dynamic QR Code can optionally specify the payer who is authorized to complete the payment.

IMPORTANT: If the payer is explicitly defined, and the payment is made by someone else, the transaction is instantly refunded. This validation only occurs when the payer is explicitly specified during the creation of the Dynamic QR Code.

Use Cases

Retail Transactions: Perfect for point-of-sale systems where each transaction has a different amount, ensuring that the correct amount is paid and recorded.

Bill Payments: Utility companies or service providers can generate a Dynamic QR Code for each billing cycle, ensuring that the correct amount is paid.

E-commerce: Online stores can use Dynamic QR Codes to generate unique payment links for each order, ensuring that payments are tied directly to the specific order.

Event Ticketing: Event organizers can issue Dynamic QR Codes for each ticket sold, ensuring that each code can only be used once, thus preventing fraud.

Use Case: Best suited for single transactions, especially in retail environments where each purchase amount may vary. Dynamic QR Codes provide more security and can include additional transaction details.

Characteristics: Generated for a specific transaction with a unique code for each payment. They include the exact amount and additional data, ensuring a secure and accurate transaction.

Lifecycle

The lifecycle of a Dynamic QR Code is governed by various states that indicate its current usability and status in the transaction process, as shown in the diagram below:

AVAILABLE

Description: This state indicates that the QR code is active and ready for use. It has not been redeemed, expired, or invalidated and can be scanned to perform its intended action.

Transitions: A QR code in the AVAILABLE state can transition to REDEEMED, EXPIRED, or INVALIDATED based on certain conditions like redemption, expiration, or manual invalidation.

REDEEMED

Description: This state signifies that the QR code has been successfully used for its intended purpose. For instance, if the QR code is meant for a one-time offer or ticket, the REDEEMED state indicates that the offer has been claimed or the ticket has been used.

Transitions: Once a QR code reaches the REDEEMED state, it does not transition to any other state. It is considered a final state in the lifecycle of the QR code.

EXPIRED

Description: The EXPIRED state indicates that the QR code has surpassed its validity period and can no longer be used for its intended action. This state is typically reached after a predefined expiration time or date has passed.

Transitions: Like REDEEMED, the EXPIRED state is a final state. A QR code in this state cannot transition to any other state.

INVALIDATED

Description: This state is used to denote that the QR code has been manually invalidated before being redeemed or expired. This might be due to various reasons, such as security concerns or the cancellation of the associated offer or event.

Transitions: INVALIDATED is also a final state. Once a QR code is invalidated, it cannot transition back to AVAILABLE or any other state.

Sandbox Environment

The sandbox environment processes all QR Codes every 30 seconds, following these guidelines:

  • If a QR Code's amount ends with 9, it will be marked as invalid and not processed further
  • If a QR Code's amount ends with 8, it will be considered pending payment and will remain until it gets expired
  • All other QR Codes with amount values not ending in 8 or 9 will be marked as paid