---
title: Custom Checkout
slug: custom-checkout
excerpt: >-
  Use Pine Labs custom Checkout to build a fully branded payment experience.
  Collect payment details on your site and call Pine Labs APIs directly — full
  control over the checkout UX.
hidden: false
sidebar_order: 1
sidebar_label: Overview
metadata:
  title: "Custom Checkout — Fully Branded Payment Experience | Pine Labs"
  description: >-
    Build a fully customized payment experience by collecting payment details on your site and calling Pine Labs APIs directly. Full control over branding, UX, and customer interaction with no external redirects.
  keywords: "custom checkout, branded checkout, seamless integration, payment UX, API integration, full control, Pine Labs custom"
  robots: index
---
Learn how you can integrate with Pine Labs Online Custom checkout.

Custom Checkout is an embedded payment processing solution designed to enhance the user experience by keeping customers on your site or app during the entire transaction process. Custom Checkout provides more flexibility for businesses with specific requirements for branding, customer interaction, and analytics, offering full control over the checkout journey.

By integrating Pine Labs Online Custom Checkout, you can build a tailored payment experience aligned with your brand identity. This method eliminates the need for external redirects, improving user satisfaction and potentially increasing conversion rates.

***


## Why Choose Pine Labs Online Custom Checkout?

In today's competitive market, businesses need to offer a frictionless and secure checkout process. Pine Labs Online Custom Checkout enables you to:

* **Full Customisation**: Pine Labs Online Custom integration gives you the ability to design a payment experience that aligns perfectly with your brand’s look and feel.
* **Direct Server Communication**: Communicate directly with Pine Labs Online servers, enabling secure and efficient payment processing.
* **Custom User Experience**: Customers stays on your website without being redirected away from your site or app.
* **Robust Security**: Pine Labs Online employs advanced encryption and complies with global security standards, ensuring your transactions are secure.

***

## Prerequisites for Pine Labs Online Custom Integration

Before you begin integrating Pine Labs Online Custom, ensure you have completed the following prerequisites:

* **Sign Up for a Pine Labs Online Account**: If you don't already have an account, sign up on the Pine Labs Online website.
* **Generate API Keys**: Retrieve your API keys from the Pine Labs Online Dashboard. These keys authenticate your API requests and are crucial for secure communication.
* **Understand the Payment Flow**: Familiarise yourself with Pine Labs Online payment flow to ensure smooth integration. The details are covered in the subsequent sections.




## Custom Payment Best Practices

Learn the best practices to follow before beginning with the integration.

1. **Verify Signature**: We recommend this as a Mandatory step to confirm the authenticity of the details returned to you on the return URL for successful payments. Refer to our <a href="https://plcorp.uat.pinelabs.com/doc/online-payments/developer-tools/webhooks/signature-verification" >signature verification</a> documentation to learn more.
2. **Check Order Status**: Use our Get Orders API from the backend to check the order/payment status before providing service to the customers. Refer to our <a href="https://plcorp.uat.pinelabs.com/doc/online-payments/payment-lifecycle" >payments life cycle</a> documentation to learn more.
3. **Configure Webhooks**: Contact our <a href="mailto:pgsupport@pinelabs.com" target="_blank">support team</a> to configure webhook events to avoid callback failures. Refer to our <a href="https://plcorp.uat.pinelabs.com/doc/online-payments/developer-tools/webhooks" >webhook</a> documentation to learn more.
4. **Implement Flexible JSON Parsing**:  We recommend designing your systems to gracefully ignore any additional or unknown fields in the JSON payload during integration.
   * This ensures **forward compatibility** as our platform evolves or introduces new optional fields.
   * Aligns with industry-standard **robust API design principles**, preventing integration issues from unexpected data.\
     **Example**: Flexible JSON Handling
   ```json Incoming Request Example
   json  
   {  
     "transactionId": "TXN123456",  
     "amount": 10000,  
     "currency": "INR",  
     "extraField": "IgnoreThisNode"  
   }
   ```
   **Expected Handling**: You should process the known fields (`transactionId`, `amount`, `currency`) and gracefully ignore the `extraField`.
5. **Avoid Hardcoding Parameters**: To ensure a scalable integration, do not hardcode values such as API keys, environment flags, or identifiers in your system while integrating.
   * Hardcoded values increase the risk of **failures** when changes occur on the platform.
   * Using **configuration files or environment variables** makes your integration easier to maintain and adapt across environments (e.g., sandbox vs production).
6. **TLS Version**: We recommend you to, use "TLS\_v\_1.2" or the higher TLS versions to avoid any transaction failures.
7. **Conduct Sanity Testing**: Before fully implementing TLS 1.2 and updating the cipher suites, perform application testing to confirm Custom communication across systems and applications within your environment.
8. **Implement Strong Cipher Suites**: Configure TLS-enabled services to use only strong cipher suites with robust encryption algorithms and key exchange mechanisms. A list of recommended cipher suites is provided below. All other ciphers should be disabled.

**Pine Labs Online accepted Ciphers**:

* `TLS_AES_128_CCM_8_SHA256`
* `TLS_AES_128_CCM_SHA256`
* `TLS_ECCPWD_WITH_AES_128_CCM_SHA256`
* `TLS_ECCPWD_WITH_AES_256_CCM_SHA384`
* `TLS_ECDHE_ECDSA_WITH_AES_128_CCM`
* `TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8`
* `TLS_ECDHE_ECDSA_WITH_AES_256_CCM`
* `TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8`
* `TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256`
* `TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256`
* `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256`
* `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384`
* `TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256`
* `TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384`
* `TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256`
* `TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384`
* `TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256`

> 📘 Note:
>
> * You can only test Credit/Debit Cards, Net Banking (via SBI),Cross Border & Pay by Points on UAT/Staging Environment.
> * UPI payments are processed in real-time, even in the UAT environment. Please test using a minimal transaction amount.
> * Production credentials will be shared with you after UAT sign-off, to test all flows in the soft production environment before going live.
> * Please share the Return and webhook URL for configuration and whitelisting before going Live.
> * For any incremental updates or support related to integration, please contact our <a href="mailto:pgintegration@pinelabs.com">Integration Team</a>.
