Plexy
Pay API
Gate APISDKDashboard
Pay API
Gate APISDKDashboard
  1. Server Integration
  • Overview
  • Authorization
  • Webhooks
  • API Errors
  • Test Scenarios
  • Ecommerce Plugins
  • API
    • Payments
      • Overview
      • Transaction Errors
      • Payment Links
        • Create Payment Link
        • List Payment Links
        • Retrieve Payment Link by Order Reference
        • Cancel Payment Link
        • Retrieve Payment Link
        • Update Payment Link Expiration
        • Retrieve Payment Links Statistics
      • Reccurent Payments
        • Create Merchant-Initiated Payment
      • Direct Payments
        • Get Keys
        • Create Host-to-Host Payment
      • Transaction Management
        • Find Transaction's History by ID
        • Find Transaction by Payment Link ID
        • Find Transaction by ID
        • Find Transaction by Order reference
      • Payment Management
        • Cancel Payment
        • Capture Payment
        • Process Refund
      • Split Requests
        • Create
        • List
        • Update
        • Get By Id
        • Delete
    • Payouts
      • Retrieve Payout Transactions
      • Process Payout
      • Save Card for Payouts
    • Customers
      • Get Customer's Card Tokens
      • List Customers
      • Create Customer
      • Get Customer by ID
      • Get Customer's Transactions
    • Merchants
      • Payment Beneficiary
        • Create
        • Update
        • Gey By Id
        • List
        • Transfer from beneficiary balance to merchant balance
        • Create manual settlement for beneficiary
      • Retrieve Merchant's Details
    • Wallet
      • Authorize
      • Сapture
      • Refund
      • Cancel
    • Payment Methods
      • Google Pay™ Integration
    • Invoice
      • List Bank Invoices
      • Create Bank Invoice
      • Get Bank Invoice
    • Distributions
      • Create distribution
      • List distributions
      • Get distribution by ID
      • Get distributions balance
  • Client SDK
    • SDK Overview
    • Wallet
      • Apple Pay
      • Google Pay
    • Android
      • Android Components
      • Android SDK
      • Android Drop-in
      • Android Customization
    • React Native
      • React Native SDK
    • Flutter
      • Flutter SDK
    • iOS
      • iOS Components
      • iOS Drop-in
      • iOS Customization
      • iOS SDK
    • Server Integration
      • Overview
      • Sessions Flow
      • Advanced Flow
      • Authentication
      • Result Codes and Errors
      • Payment Methods and Checkout Settings
      • Test and Live Payments
      • API Reference
      • Payment Methods
        • Get a list of available payment methods
      • Payments
        • Start a transaction
        • Submit details for a payment
      • Sessions
        • Create a payment session
        • Get the result of a payment session
    • Web
      • Web SDK
      • Web Customization
      • Web Drop-in
      • Web Components
  • Schemas
    • Schemas
      • response.TransactionList
      • entity.SplitRequest
      • entity.PaymentBeneficiary
      • request.CreatePaymentBeneficiary
      • entity.SettlementPaymentOrder
      • entity.PayoutRequest
      • entity.PayoutRequestRowData
      • entity.UserProfile Copy
      • entity.Store
      • request.AssignStoreToUser
      • request.RemoveStoreFromUser
      • entity.AccountExternalSystem
      • response.AssignStoreToUser
      • request.CreateStore
      • response.Store
      • response.UserList
      • request.WalletAuthorizeRequest
      • entity.ShortWalletTransaction
      • response.WalletAuthorizeResponse
      • request.WalletCapture
      • response.RemoveStoreFromUser
      • command.HandleThreeDResult
      • domain.Report
      • entity.CardSaveSessionCustomer
      • entity.Permission
      • entity.UserProfile
      • entity.UserRole
      • git_plexypay_com_ecom_back_api_internal_domain_view.Page-domain_Report
      • git_plexypay_com_ecom_back_api_internal_domain_view.Page-entity_UserProfile
      • models.CSVApiRequest
      • models.CreateBussinessDetails
      • models.KeyResponse
      • models.OnboardingRequest
      • models.Transaction
      • paymentcore.Address
      • paymentcore.CustomerDetails
      • request.AuthorizePayment
      • request.BrowserDetails
      • request.CardData
      • request.ChangeUserRole
      • request.ContinueThreeDS
      • request.CreateCardSaveSession
      • request.CreateInviteSession
      • request.CreatePaymentLink
      • request.CreatePaymentLinkMetadata
      • request.HandlePayout
      • request.MerchantInitiatedPayment
      • request.PasswordRequest
      • request.Recurring
      • request.RefundPayment
      • request.SaveCard
      • request.SaveOneCustomer
      • request.TwoStepAuthorizePayment
      • request.UpdateMerchantSettingsRequest
      • request.UpdatePaymentLink
      • response.AcquirerResponseThreeDSecure
      • response.AuthorizeAndCapturePayment
      • response.AuthorizePayment
      • response.CancelPaymentResponse
      • response.CapturePaymentResponse
      • response.ContinueThreeDS
      • response.Currency
      • response.Customer
      • response.CustomerTransaction
      • response.CustomerTransactions
      • response.Customers
      • response.Merchant
      • response.MerchantInitiatedPayment
      • response.MerchantSettings
      • response.PaymentLink
      • response.PaymentLinkInfo
      • response.PaymentLinkMetadata
      • response.PaymentLinksInfo
      • response.PaymentLinksStatistics
      • response.PaymentLinksStatisticsItem
      • response.Payout
      • response.Permission
      • response.RefundPaymentResponse
      • response.Report
      • response.SavedCard
      • response.Session
      • response.Settlement
      • response.SettlementTransaction
      • response.Store
      • response.Stores
      • response.Transaction
      • response.TransactionDetails
      • response.TransactionEvents
      • response.TransactionHistoryEvent
      • response.TransactionHistoryEventData
      • response.TransactionResponse
      • response.TransactionWebhookDetails
      • response.Transactions
      • response.UpdateMerchantSettingsResponse
      • response.UserProfile
      • value.PaymentMethod
    • receipt
    • Error
    • response.BankInvoice
    • DistributionStatus
    • LivenessResponse
    • DecimalAmount
    • errors.Source
    • Currency
    • AmountDto
    • ProductType
    • errors.Message
    • DistributionRecipient
    • PaymentMethodsRequestDto
    • ProductCategory
    • request.CreateBankInvoice
    • DistributionCreateRequest
    • PaymentMethodDto
    • Product
    • git_plexypay_com_ecom_back_api_internal_platform_errors.Code
    • DistributionBase
    • StoredPaymentMethodDto
    • response.Error
    • Order
    • DistributionCreatedResponse
    • PaymentMethodsResponseDto
    • AgentBalance
    • response.BankInvoiceList
    • DistributionDetailResponse
    • CreatePaymentDto
    • AgentDeposit
    • errors.Type
    • DistributionListItem
    • AdditionalDataDto
    • TopupRequest
    • DistributionListResponse
    • ActionDto
    • CreateOrderRequest
    • DistributionBalanceResponse
    • CreatePaymentResponseDto
    • PaymentDetailsDto
    • PaymentDetailsRequestDto
    • PaymentActionDto
    • FraudResultDto
    • ResponsePaymentMethodDto
    • PaymentDetailsResponseDto
    • ApplePayMerchantValidationRequestDto
    • ApplePayMerchantSessionResponseDto
    • ApplePaySessionRequestDto
    • ApplePaySessionResponseDto
    • GooglePayDecodeRequestDto
    • GooglePayPaymentMethodDetails
    • GooglePayDecryptedData
    • GooglePayDecodeSuccessResponseDto
    • RiskDataDto
    • GooglePayPaymentMethodDto
    • BrowserInfoDto
    • GooglePayPaymentRequestDto
    • EncryptedCardDataDto
    • GooglePayPaymentResponseDto
    • GooglePayPaymentErrorResponseDto
    • LineItemDto
    • AddressDto
    • CreateCheckoutSessionRequestDto
    • CreateCheckoutSessionResponseDto
    • PaymentDto
    • SessionResultResponseDto
    • EncryptedSessionDataDto
    • DecryptPaymentRequestDto
    • DecryptPaymentResponseDto
    • ThreeDSDetailsDto
    • SessionPaymentDetailsRequestDto
    • SessionPaymentDetailsResponseDto
    • CardDetailsRequestDto
    • CardBrandDetailsDto
    • CardDetailsResponseDto
    • PublicKeyResponseDto
  1. Server Integration

Overview

Get Started#

Info
This is the documentation for API v2 and SDK integration. Looking for the
more stable legacy version? See the API v1
documentation.
Pick speed or pick control.
Plexy gives you two ways to integrate: the Sessions Flow — one API call and Plexy handles everything — or the Advanced Flow, which trades effort for complete control over the checkout UI and payment lifecycle.

Pick your server flow#

Sessions FlowAdvanced Flow
Best forFastest path to live paymentsFully branded custom checkout
API calls requiredOne (POST /v2/sessions)Three+ (/v2/paymentMethods → /v2/payments → /v2/payments/details)
Who handles 3DS + redirectsPlexyYou
Time to first paymentMinutesDays
Good fit examplesSMB checkout, invoicing, subscription billingMarketplaces, custom-branded flagship apps, multi-step checkouts

Not sure which to pick?#

Start with the Sessions Flow — it covers most merchants and gets you to your first live payment fastest. Choose the Advanced Flow when you need a fully branded payment form or custom orchestration that the Sessions Flow can't accommodate.

Continue with your flow#

Sessions Flow
Create a session, mount the checkout, handle the result via webhook.
Advanced Flow
Render payment methods, submit payments, handle 3DS yourself.

Next steps#

Explore SDK guides for your platform
Browse the API reference for all endpoints

Pick how to render Plexy on the client#

Two ways to mount Plexy in your app.
Drop-in is one pre-built component that renders the entire checkout — payment-method selection, forms, and 3DS prompts. Components are individual payment-method pieces (Card, Apple Pay, Google Pay, ...) that you place and style in your own UI. Both work with either the Sessions Flow or the Advanced Flow — this choice is about client-side rendering, not flow.
Drop-inComponents
Best forFastest client integrationComposable, custom layouts
What you renderOne <Dropin /> mount — full checkoutIndividual payment-method components you place yourself
Payment-method UI ownershipPlexy renders all methods (Card, Apple Pay, Google Pay, ...)You pick and arrange each method component
Bundle sizeLarger — includes all registered payment methodsSmaller — tree-shake to only the methods you use
Time to integrateMinutesHours
Good fit examplesStandard single-page checkout, MVP, quick launchMulti-step flows, custom layouts, selective payment methods
Start with Drop-in — it's the fastest way to ship a working checkout. Move to Components when you need custom layout, selective payment methods, or want to minimize bundle size.
Drop-in
Mount one <Dropin /> and let Plexy render the full checkout.
Components
Compose individual payment-method components in your own UI.

Accept Payments#

Sessions Flow
Embedded checkout — server creates a session, client renders the Plexy
component
Advanced Flow
Direct API — your server calls the Payments API, you render the UI

Sessions flow#

Advanced flow#


API Overview#

API Reference#

The Plexy API is a RESTful API that uses JSON for request and response bodies. It powers the merchant-facing endpoints used to create payments, manage checkout sessions, and look up available payment methods.

Base URL#

EnvironmentURL
Productionhttps://api.plexypay.com
Plexy uses this same base URL for both test and live payments. API paths include the /v2 prefix, for example /v2/sessions. Use a test API key for simulated transactions and a live API key for production. Client SDK environments stay live/APSE; the API key determines the payment mode.

Authentication#

All API requests must include your API key in the x-api-key header:
See Authentication for details on obtaining and rotating keys.

Request format#

Use Content-Type: application/json for all requests
All timestamps are in ISO 8601 format
Amounts are specified in the smallest currency unit (e.g., 5000 = 50.00 KZT). See Currency Codes.

Response format#

Successful responses return a 2xx status code with a JSON body. Example response from POST /v2/payments:
{
  "pspReference": "BNV58BSJF9WQ5K65",
  "resultCode": "Authorised",
  "amount": { "currency": "KZT", "value": 10000 },
  "merchantReference": "order-1729012345",
  "paymentMethod": { "type": "scheme", "brand": "visa" }
}
The resultCode field tells you the outcome of the payment. See HTTP Status Codes and Refusal Reasons for the full list of values.

Error format#

Error responses return a 4xx or 5xx status code with an error body:
{
  "error": {
    "code": "invalid_request",
    "message": "Amount must be greater than 0",
    "param": "amount"
  }
}
See Error Codes for the full catalog of error types and codes.

Webhooks#

Plexy sends webhook events for important state changes. See the webhooks guide for setup instructions.

API endpoints#

The merchant API exposes five operations grouped by resource:

Payment Methods#

MethodEndpointDescription
POST/v2/paymentMethodsGet a list of available payment methods

Payments#

MethodEndpointDescription
POST/v2/paymentsStart a transaction
POST/v2/payments/detailsSubmit details for a payment

Sessions#

MethodEndpointDescription
POST/v2/sessionsCreate a payment session
GET/v2/sessions/{sessionId}Get the result of a payment session
Modified at 2026-07-07 10:25:45
Previous
iOS SDK
Next
Sessions Flow
Built with