Plexy
Pay API
Gate APIDashboard
Pay API
Gate APIDashboard
  1. API
  • Overview
  • Authorization
  • Webhooks
  • API Errors
  • Test Scenarios
  • Ecommerce Plugins
  • API
    • Payments
      • Overview
      • 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
      • Settlement Payment Order
        • Create
        • Get by id
        • List
    • 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
  • Client SDK
    • Server flow
      • Session server flow
    • Web
      • Web Drop-in
      • Web iFrame
    • Flutter
      • Flutter Drop-in
  • 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
      • errors.Message
      • errors.Source
      • errors.Type
      • git_plexypay_com_ecom_back_api_internal_domain_view.Page-domain_Report
      • git_plexypay_com_ecom_back_api_internal_domain_view.Page-entity_UserProfile
      • git_plexypay_com_ecom_back_api_internal_platform_errors.Code
      • 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.Error
      • 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
    • DecimalAmount
    • ProductType
    • ProductCategory
    • Product
    • Order
    • AgentBalance
    • AgentDeposit
    • TopupRequest
    • CreateOrderRequest
  1. API

Wallet

Plexy Wallet API#

Authorize
POST /v1/wallet/authorize
Creates a new wallet authorization transaction.
Get Transaction
GET /v1/wallet/transaction/{wallet_transaction_id}
Returns the status/details of a previously created transaction.
List Transactions
GET /v1/wallet/transactions/
Returns a list of wallet transactions.
Idempotency
Use Idempotency-Key to safely retry POST without creating duplicates.

Idempotency (POST only)#

POST /v1/wallet/authorize supports idempotency via a header:
HeaderRequiredExampleNotes
Idempotency-KeyYes8b7f2a7e-2c5b-4d6e-9c3f-acde12345678Unique per logical operation; reusing the same key should return the same result (expected).
Recommendation: use a UUID v4 as Idempotency-Key.
Do not reuse the same Idempotency-Key for different orders.

Data Model#

WalletTransaction#

FieldTypeDescription
walletTransactionIdstringUnique identifier of the wallet transaction.
walletTransactionStatusstringCurrent status of the wallet transaction.
orderReferencestringMerchant-side order reference.
amountintegerAmount in minor units (e.g., cents/tiyn).
currencystringCurrency code (e.g., KZT, USD).

TransactionStatus#

NEW, PROCESSING, SUCCESS, FAILED

Typical Flow#

1
Authorize a transaction
Call POST /v1/wallet/authorize with amount + customer identifiers + orderReference.
2
Receive transaction id
Store walletTransactionId returned in the response.
3
Capture / Cancel
To finalize debit — POST /v1/wallet/{wallet_transaction_id}/capture.
To cancel — POST /v1/wallet/{wallet_transaction_id}/cancel.
4
Refund (if applicable)
To refund — POST /v1/wallet/{wallet_transaction_id}/refund.
5
Poll transaction status
Call GET /v1/wallet/transaction/{wallet_transaction_id} until it reaches a terminal state (e.g., SUCCESS/FAILED).
6
Reconcile
Match by orderReference and persist final status in your system.

Endpoint: Authorize#

POST /v1/wallet/authorize#

Auth: Authorization: <Merchant Api-Key>
Idempotency: Idempotency-Key: <uuid>

Request Body#

FieldTypeRequiredDescription
amountintegerYesAmount in minor units (e.g., cents/tiyn).
phoneNumberstringYesCustomer phone number.
iinstringYesCustomer IIN (Kazakhstan personal identifier).
orderReferencestringYesMerchant order reference (recommended unique).
currencystringYesCurrency code.
amount is in minor units. Example: for KZT 1,234.56, send 123456 if your minor unit is 1/100.

Response Body (200/201)#

FieldTypeDescription
walletTransactionIdstringNew wallet transaction id.
walletTransactionStatusstringCurrent status (likely initial).
orderReferencestringEcho of the request field.
amountintegerEcho of the request amount.
currencystringEcho of the request currency.

Examples#

cURL
HTTP
Response

Endpoint: Capture#

POST /v1/wallet/{wallet_transaction_id}/capture#

Auth: Authorization: <Merchant Api-Key>

Path Parameters#

NameRequiredDescription
wallet_transaction_idYesIdentifier of the wallet transaction.

Request Body#

FieldTypeRequiredDescription
amountintegerYesCapture amount in minor units.

Response Body#

FieldTypeDescription
walletTransactionIdstringWallet transaction id.
walletTransactionStatusstringCurrent status after operation.
orderReferencestringMerchant order reference.
amountintegerAmount processed for this operation (minor units).
currencystringCurrency code.
{
  "walletTransactionId": "wt_01JDM3Z7V8H8Q2X9K0R1ABCD12",
  "walletTransactionStatus": "SUCCESS",
  "orderReference": "ORDER-100045",
  "amount": 15000,
  "currency": "KZT"
}

Endpoint: Refund#

POST /v1/wallet/{wallet_transaction_id}/refund#

Auth: Authorization: <Merchant Api-Key>

Path Parameters#

NameRequiredDescription
wallet_transaction_idYesIdentifier of the wallet transaction.

Request Body#

FieldTypeRequiredDescription
amountintegerYesRefund amount in minor units.

Response Body#

FieldTypeDescription
walletTransactionIdstringWallet transaction id.
walletTransactionStatusstringCurrent status after operation.
orderReferencestringMerchant order reference.
amountintegerAmount processed for this operation (minor units).
currencystringCurrency code.
{
  "walletTransactionId": "wt_01JDM3Z7V8H8Q2X9K0R1ABCD12",
  "walletTransactionStatus": "SUCCESS",
  "orderReference": "ORDER-100045",
  "amount": 5000,
  "currency": "KZT"
}

Endpoint: Cancel#

POST /v1/wallet/{wallet_transaction_id}/cancel#

Auth: Authorization: <Merchant Api-Key>

Path Parameters#

NameRequiredDescription
wallet_transaction_idYesIdentifier of the wallet transaction.

Request Body#

FieldTypeRequiredDescription
amountintegerYesCancel amount in minor units (if partial cancel is supported).

Response Body#

FieldTypeDescription
walletTransactionIdstringWallet transaction id.
walletTransactionStatusstringCurrent status after operation.
orderReferencestringMerchant order reference.
amountintegerAmount processed for this operation (minor units).
currencystringCurrency code.
{
  "walletTransactionId": "wt_01JDM3Z7V8H8Q2X9K0R1ABCD12",
  "walletTransactionStatus": "SUCCESS",
  "orderReference": "ORDER-100045",
  "amount": 15000,
  "currency": "KZT"
}

Endpoint: Get Wallet Transaction#

GET /v1/wallet/transaction/{wallet_transaction_id}#

Auth: Authorization: <Merchant Api-Key>

Path Parameters#

NameRequiredDescription
wallet_transaction_idYesIdentifier returned from Authorize.

Response Body (200)#

Returns WalletTransaction:
{
  "walletTransactionId": "wt_01JDM3Z7V8H8Q2X9K0R1ABCD12",
  "walletTransactionStatus": "SUCCESS",
  "orderReference": "ORDER-100045",
  "amount": 15000,
  "currency": "KZT"
}

Endpoint: List Wallet Transactions#

GET /v1/wallet/transactions/#

Auth: Authorization: <Merchant Api-Key>

Query Parameters#

NameTypeRequiredDescription
limitintegerNoMax items to return (e.g., 20–100).
cursorstringNoCursor for pagination.
orderReferencestringNoFilter by merchant order reference.
statusstringNoFilter by transaction status.

Response Example#

{
  "items": [
    {
      "walletTransactionId": "wt_01JDM3Z7V8H8Q2X9K0R1ABCD12",
      "walletTransactionStatus": "SUCCESS",
      "orderReference": "ORDER-100045",
      "amount": 15000,
      "currency": "KZT"
    },
    {
      "walletTransactionId": "wt_01JDM40A2K9Q9B8F1Z2XEFGH34",
      "walletTransactionStatus": "PROCESSING",
      "orderReference": "ORDER-100046",
      "amount": 15000,
      "currency": "KZT"
    }
  ],
  "nextCursor": "eyJvZmZzZXQiOjJ9"
}

Field Notes#

amount (minor units): What does “minor” mean?
iin: What is IIN?
Modified at 2026-02-19 10:18:58
Previous
Retrieve Merchant's Details
Next
Authorize
Built with