Skip to main content

Overview

Every purchase in Waffo Pancake creates an order and an associated payment record. Orders represent the customer’s intent to buy, while payments track the actual money movement.

Order Statuses

Orders have different status sets depending on the product type.

One-Time Orders

StatusDescription
pendingOrder created, awaiting payment
completedPayment succeeded, order fulfilled
canceledOrder was canceled before completion

Subscription Orders

StatusDescription
pendingSubscription created, awaiting first payment
activeSubscription is live and billing normally
trialingCustomer is in a free trial period
past_duePayment failed, retrying
cancelingCancellation requested, active until period end
canceledSubscription canceled (access continues until period end)
expiredSubscription expired

Payment Statuses

Pending

Payment initiated, awaiting processing.

Processing

Payment is being processed.

Succeeded

Payment completed successfully.

Failed

Payment failed during processing.

Refunded

Full refund has been processed.

Partially Refunded

A partial refund has been processed.

Payment List

View all payments in a table with the following columns:
ColumnDescription
DateTransaction timestamp
AmountPayment amount in smallest currency unit
Tax AmountTax collected on the transaction
StatusCurrent payment status
Payment Methodcard, bank_transfer, or wallet
CustomerCustomer email address
CurrencyISO 4217 currency code

Filtering

FilterOptions
Statuspending, processing, succeeded, failed, refunded, partially_refunded
Date RangeCustom start and end dates

Payment Details

Click any payment to view its full record.

Transaction Info

FieldDescription
Payment IDUUID v4 identifier
Order IDAssociated order
Store IDStore that received the payment
AmountGross payment amount (smallest currency unit)
CurrencyISO 4217 currency code
StatusCurrent payment status
Created AtISO 8601 timestamp
Updated AtISO 8601 timestamp

Amount Details

FieldDescription
amountTotal charged amount
taxAmountTax portion of the amount
settlementCurrencyCurrency used for settlement
settlementAmountAmount in settlement currency
refundedAmountTotal amount refunded so far

Billing Detail

FieldDescription
countryCustomer’s billing country
stateBilling state or region
postcodeBilling postal code
isBusinessWhether this is a business purchase
businessNameBusiness name (if applicable)
taxIdTax ID (if applicable)

Payment Method

Payments record which method was used:
MethodValue
Credit/Debit Cardcard
Bank Transferbank_transfer
Digital Walletwallet
Additional method-specific details may be available in the paymentMethodDetails field. The structure of this field varies by payment method.

Supported Payment Methods

Card

Credit and debit card payments.

Bank Transfer

Direct bank-to-bank transfers.

Wallet

Digital wallet payments (Apple Pay, Google Pay, etc.).

Refunds

Refund requests are handled through a separate ticket-based workflow. Buyers submit a refund ticket specifying the payment and reason, and merchants review and approve or reject the request.
For full details on the refund process, statuses, and policies, see the Refunds page.
Key rules:
  • One-time product refunds must be requested within 7 days of payment
  • Subscription cancellations take effect at the end of the current billing period
  • Refund tickets track their own status: pending, approved, rejected, processing, succeeded, failed

API Reference

Creating Orders

Orders are created through a two-step checkout session flow: Step 1: Create a checkout session (API Key or Store Slug auth)
curl -X POST https://waffo-pancake-auth-service.vercel.app/v1/actions/checkout/create-session \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_TOKEN" \
  -d '{
    "storeId": "store-uuid",
    "productId": "product-uuid",
    "productType": "onetime",
    "currency": "USD"
  }'
This returns a sessionId, checkoutUrl, and expiresAt. The session locks the product version and price snapshot for 7 days. Step 2: Create the order (API Key auth)
curl -X POST https://waffo-pancake-auth-service.vercel.app/v1/actions/onetime-order/create-order \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_TOKEN" \
  -d '{
    "checkoutSessionId": "session-uuid",
    "billingDetail": {
      "country": "US",
      "isBusiness": false,
      "state": "CA"
    }
  }'
Both endpoints return a checkoutUrl that the buyer should be redirected to for payment.

Querying Payments

Use the GraphQL endpoint to query payment records:
query {
  payments(storeId: "store-uuid", limit: 20) {
    id
    orderId
    amount
    currency
    status
    paymentMethod
    amountDetails {
      amount
      taxAmount
      settlementCurrency
      settlementAmount
      refundedAmount
    }
    billingDetail {
      country
      state
      postcode
      isBusiness
      businessName
      taxId
    }
    createdAt
  }
}
All amounts are in the smallest currency unit. For example, 2900 in USD means $29.00. For zero-decimal currencies like JPY, 4500 means 4500 yen.