For the complete documentation index, see llms.txt. This page is also available as Markdown.

Key Concepts

Before integrating with the recurring payment product, it is essential to understand the core entities involved in the payment flow. These concepts form the foundation of our API and are referenced throughout this documentation.

Shoppers

A shopper represents the end-user who performs transactions using stored payment methods. In the context of recurring payments, a shopper acts as the root container for one or multiple linked payment methods.

Shopper Identification

Each shopper is uniquely identified by several attributes, including identifiers, status, and verified billing information.

{
  "id": 123456,
  "created_at": "2024-02-17T10:00:00Z",
  "created_by": "system",
  "entity_id": "abc123",
  "owned_by": "merchant_789",
  "status_code": "ACTIVE",
  "email": "user@example.com",
  "partner_shopper_id": "partner_001",
  "phone_number": "+1234567890",
  "finalized_at": "2024-02-17T10:30:00Z",
  "zip_code": "10001",
  "billing_first_name": "John",
  "billing_last_name": "Doe",
  "billing_document_type": "passport",
  "billing_document_id": "A12345678",
  "billing_country": "US",
  "billing_address": "123 Payment St.",
  "billing_region": "New York",
  "billing_city": "New York"
}

Why it matters:

  • Data Retrieval: Shopper IDs are required to fetch stored payment methods for recurring transactions.

  • Flexibility: A single shopper can maintain multiple saved payment methods across different providers.

  • Eligibility: The status_code determines if the shopper is currently eligible for payment processing.

  • Compliance: Detailed billing information may be required for document verification or regional regulatory requirements.

Payment Methods

A payment method is the specific financial instrument (e.g., a credit card) used for transactions. Note that while our system supports various types, recurring features are currently limited to cards.

Payment Method Identification

Each method is identified by its type and its specific support for different transaction flows.

Why it matters:

  • Multi-method Support: Shoppers can save various cards and wallets to their profiles.

  • Transaction Logic: supports_UIP indicates if the method allows one-time, user-authorized transactions.

  • Recurring Logic: supports_MIP indicates if the method allows automated, merchant-initiated billing.

  • Storage: The supports_tokenization field dictates whether the method can be safely stored for future use.

Tokens

A token is a secure, unique reference to a shopper’s saved payment method. To ensure high security, sensitive payment details are replaced by a token ID for all subsequent transactions.

Token Usage Types:

  • User-Initiated Payments (UIP): Tokens enable one-click checkouts, allowing shoppers to pay instantly without re-entering card details.

  • Merchant-Initiated Payments (MIP): Tokens allow you to charge shoppers automatically for subscriptions or recurring bills.

Token Identification

Why it matters:

  • Seamless UX: Tokens facilitate friction-free checkout experiences.

  • Automation: They are the core mechanism for automated subscription billing.

  • Permissioning: The supports_UIP and supports_MIP fields explicitly define how a specific token can be used in your payment flows.

Charges

A charge represents an individual payment request made against a saved payment method.

Charge Types:

  • User-Initiated Payments (UIP): The shopper is present and actively authorizes the charge (e.g., a manual top-up).

  • Merchant-Initiated Payments (MIP): The merchant processes the charge automatically (e.g., a monthly subscription fee).

Each charge is linked to a shopper, a tokenized payment method, and a specific amount/currency.

Charge Identification

Why it matters:

  • Audit Trail: Charges track the lifecycle and outcome of every payment attempt.

  • Error Handling: error_code values allow you to diagnose failures and trigger specific retry logic or customer notifications.

Last updated

Was this helpful?