Skip to main content

Partner Integration Guides

Overview

S
Written by Support Team
Updated over 3 months ago

This document outlines how partners can integrate Frame—a white-label payment processor—into their applications. Before proceeding, merchants must obtain Frame's underwriting approval and receive a production API key for payment processing.

The full developer docs for Frame live here.

Core API Functionality

  • 3D Secure

  • Transaction Monitoring

  • Apple Pay

  • Google Pay

  • Subscriptions

  • Webhooks

  • Built-in PCI Compliance

Table of Contents

  1. Authentication

  2. Customers

  3. Payment Methods

  4. Charge Intents

  5. Refunds

  6. Disputes

  7. Suscriptions

  8. Products

  9. Best Practices

1. Authentication

To authenticate API requests, use the merchant's specific API key provided by Frame. Include this key in the Authorization header of your requests. More information on authentication can be found in our docs here: https://docs.framepayments.com/authentication

curl --request GET \ 
--header 'Authorization: Bearer <your_api_key>'

2. Customers

Customers represent individuals or businesses who make purchases through a merchant's platform. You can associate payment methods, charge intents, and charges with a given customer. The full documentation for customers is available here: https://docs.framepayments.com/api/customers

3. Payment Methods

A PaymentMethod object represents a customer's payment instrument. You can use these payment methods when creating a new ChargeIntent, or save them to a customer object for future payments. The full documentation for PaymentMethods is available here: https://docs.framepayments.com/api/payment_methods

4. Charge Intents

A ChargeIntent guides you through the process of collecting a payment from a customer. We suggest you create one ChargeIntent for each order or customer session in your system. You can reference the ChargeIntent later to see the history of charge attempts for a particular session. The ChargeIntent object supports authorization/capture flows, allowing merchants to authorize an amount for later capture. The full API docs for ChargeIntents is available here: https://docs.framepayments.com/api/charge_intents

5. Refunds

Refunds API is used to refund a payment.

The refund object allows you to refund a previously created charge that has not been refunded yet. Funds are refunded to the PaymentMethod that was initially charged. The full API docs for Refunds is available here: https://docs.framepayments.com/api/refunds

6. Disputes

Disputes occur when a customer questions your charge with their card issuer. When this happens, merchants have the opportunity to respond to the dispute with evidence that proves the charge is legitimate.

7. Subscriptions

Subscriptions allow for merchants to charge a customer on a recurring basis. The full API docs for Subscriptions is available here: https://docs.framepayments.com/payments/subscriptions

8. Products

Products represent specific goods or services that merchants offer to their customers. Each variant of a product—such as standard or premium versions—is treated as a separate Product. You can include a Product ID when creating a ChargeIntent to automatically calculate the charge amount for the PaymentMethod. The full API for Products is available here: https://docs.framepayments.com/api/products

9. Best Practices for Partners

When a partner implements all the highlighted endpoints in their application, the following flow is what will lead to successfully charging a customer’s payment method.

  1. When the total amount for the ChargeIntent is known:

    1. Create a customer

    2. Attach a payment method to the customer

    3. Create a confirmed ChargeIntent using the customer

  2. When the total amount for a ChargeIntent can change (Auth/Capture):

    1. Create a customer

    2. Attach a payment method to the customer

    3. Create an unconfirmed ChargeIntent using the customer

    4. Capture or void the unconfirmed ChargeIntent using the ChargeIntent ID

  3. Create a ChargeIntent, PaymentMethod, and Customer (Single request)

Did this answer your question?