LiqPay Checkout for Firestore

Made by summerhammer

Integrates LiqPay Checkout for seamless payment processing.

<10
installs
Works with
Cloud Firestore
Version
0.2.1 | Source code
Tags
payments
License
Apache-2.0
Publisher
summerhammer
Report
Bug
Abuse

How this extension works

Use this extension to set up payments via LiqPay Checkout.

This extension supports one-time and subscription payments with the
LiqPay Checkout
service. It is designed to be highly flexible and can be customized to meet your
specific needs through the use of JSONata expressions.

The extension performs the following tasks:

  • Monitors the INVOICES_COLLECTION collection and processes invoices that use the liqpay payment method.
  • Based on invoice data, it generates a checkout request, sends it to LiqPay, and receives a payment URL.
  • Creates a checkout session object and stores it in the SESSIONS_COLLECTION collection.
  • Listens for payment status updates from LiqPay via a webhook and updates the checkout session object accordingly.

Types Used by the Extension

Type Origin Description
Invoice Your app The extension does not enforce any specific structure for this object. You can use your existing invoice, order, or other data type. However, the restriction is on where these objects are stored: the extension requires them to be accessible without additional context, meaning they should reside in a top-level Firestore collection.
CheckoutRequest LiqPay A data structure required by LiqPay’s /checkout endpoint. The extension translates your Invoice into a CheckoutRequest using a JSONata expression defined by the INVOICE_TO_CHECKOUT_REQUEST_JSONATA parameter.
CheckoutSession Extension The extension uses the CheckoutSession object to track payment status. These sessions are stored in the SESSIONS_COLLECTION collection. When specifying this collection’s path, you can use tokens from the Invoice type for additional context. For example, in customers/{customerId}/checkout-sessions, the customerId will be replaced by the corresponding Invoice.customerId value.

Events

This extension emits events, allowing you to trigger custom logic at various
stages during the extension’s operation.

Additional Setup

Before installing this extension, ensure that you have
set up a Cloud Firestore database
in your Firebase project.

Next, in the LiqPay Dashboard, obtain your
public_key and private_key, as described in the documentation.

Billing

This extension uses the following Firebase services, which may incur charges:

  • Cloud Firestore
  • Cloud Functions
  • Cloud Secret Manager
  • If events are enabled, Eventarc fees apply.

Additionally, this extension interacts with the following third-party service:

You are responsible for any costs associated with your use of these services.

Note from Firebase

To install this extension, your Firebase project must be on the Blaze
(pay-as-you-go) plan. You will only be charged for the resources you use.
Many Firebase services offer a free tier for low-volume use.
Learn more about Firebase billing.

Starting August 17, 2020, you will be charged a small fee (usually less than
$0.10) when you install or reconfigure this extension. See the
Cloud Functions for Firebase billing FAQ
for more details.