payment30 ops

Payment API

Payment methods, payment service providers, top-ups, refunds, and gateway adapters.

Queries

QUERY

adminBillingPaymentMethods

#

An issuer's active payment methods (PlatformAdmin only).

Arguments

  • issuerId!
Returns[!]!
QUERY

adminTenantPspAccounts

#

List the PSP accounts of a specific tenant (PlatformAdmin only). Mirrors pspAccounts but takes the target tenant from the argument instead of the request context, so platform admins can inspect a tenant they're not impersonating. Used by the admin tenant detail page.

Arguments

  • tenantId!
  • input!

    Default

    {
      "provider": null,
      "environment": null,
      "enabled": null,
      "regionId": null,
      "search": null,
      "pagination": {
        "limit": 10,
        "page": 1,
        "after": null
      }
    }
Returns!
QUERY

instantPaymentMethods

#

Arguments

  • input!
Returns[!]!
QUERY

paymentGatewayCoverage

#

Full PSP coverage matrix: every PSP with its supported countries, brand name, and whether this deployment can actually charge through it. Intended for marketing "by region" views.

Returns[!]!
QUERY

paymentGatewaysForCountry

#

Payment gateways (PSPs) available in the given country. country_code must be an ISO 3166-1 alpha-2 code (case-insensitive). Returns an empty list for unknown country codes.

Arguments

  • countryCodeString!

    ISO 3166-1 alpha-2 country code (e.g. "KW", "US").

Returns[!]!
QUERY

paymentOptions

#

Arguments

  • input!
Returns[!]!
QUERY

pspAccount

#

Get a single PSP account by ID (admin only)

Arguments

  • idString!
Returns
QUERY

pspAccounts

#

List Tenant's PSP accounts (admin only)

Arguments

  • input!

    Default

    {
      "provider": null,
      "environment": null,
      "enabled": null,
      "regionId": null,
      "search": null,
      "pagination": {
        "limit": 10,
        "page": 1,
        "after": null
      }
    }
Returns!
QUERY

pspProviderCatalog

#

Every payment gateway, ranked for the given countries. Pass the tenant's operating countries (from myOperationFootprint) to get a coverage verdict per gateway and a recommendation. Pass an empty list to get the bare catalog — capabilities and credential schemas, with no ranking. Returns credential *schemas*, never credential values.

Arguments

  • countryCodes[String!]!

    ISO 3166-1 alpha-2 codes the gateway must serve, e.g. ["GB", "SA"].

    Default

    []
Returns[!]!
QUERY

savablePaymentOptions

#

Get all savable payment options available for the user

Arguments

  • countryString
  • currencyString
  • amountMinorInt
  • device
Returns[!]!
QUERY

savedPaymentMethods

#

List saved payment methods for the current user.

Arguments

  • limitInt!

    Default

    20
  • offsetInt!

    Default

    0
Returns!

Mutations

MUTATION

addPaymentMethod

#

Arguments

  • input!
Returns!
MUTATION

adminArchiveBillingPaymentMethod

#

Archive a payment method (PlatformAdmin only). Never a hard delete: issued invoices reference it, and the details a client was actually given live in the invoice's own snapshot.

Arguments

  • id!
ReturnsBoolean!
MUTATION

adminRecordInvoicePayment

#

Record money received against an invoice (PlatformAdmin only).

Arguments

  • input!
Returns!
MUTATION

adminRemoveInvoicePayment

#

Remove a payment recorded in error (PlatformAdmin only).

Arguments

  • input!
Returns!
MUTATION

adminSaveBillingPaymentMethod

#

Create or update a payment method (PlatformAdmin only).

Arguments

  • input!
Returns!
MUTATION

beginAddPaymentMethod

#

Arguments

  • input!
Returns!
MUTATION

beginWalletTopUp

#

Arguments

  • input!
Returns!
MUTATION

completeAddPaymentMethod

#

Arguments

  • input!
Returns!
MUTATION

completeWalletTopUp

#

Arguments

  • input!
Returns!
MUTATION

confirmWalletTopUp

#

Confirm a wallet top-up after the client finished the Stripe flow. Polls the PSP for PI status and credits the wallet when captured. Idempotent — safe to call multiple times and to race with the webhook.

Arguments

  • input!
Returns!
MUTATION

createPspAccount

#

Arguments

  • input!
Returns!
MUTATION

deletePspAccount

#

Delete a PSP account (admin only)

Arguments

  • idString!
ReturnsBoolean!
MUTATION

provisionPspWebhook

#

Register a webhook endpoint at the PSP and persist the returned signing secret on this PSP account. Used by the admin console's "Provision automatically" button so tenants don't have to touch the Stripe Dashboard. Admin-only.

Arguments

  • pspAccountIdString!
Returns!
MUTATION

refreshPspAccountCapabilities

#

Re-fetch this PSP account's enabled payment-method capabilities from the PSP and persist them (admin only). Returns the refreshed account so the client sees the updated capabilitiesRefreshedAt and paymentMethodCapabilities in one round-trip.

Arguments

  • idString!
Returns!
MUTATION

refundPayment

#

Issue a refund for a previously captured payment. Admin only.

Arguments

  • input!
Returns!
MUTATION

removePaymentMethod

#

Arguments

  • idID!
ReturnsBoolean!
MUTATION

setDefaultPaymentMethod

#

Arguments

  • idID!
Returns!
MUTATION

testPspAccount

#

Test PSP account connectivity (admin only)

Arguments

  • idString!
Returns!
MUTATION

updatePspAccount

#

Update a PSP account (admin only)

Arguments

  • input!
Returns!