1. Appian - Submerchant Register
English
  • English
  • Español
  • API Docs Peru 🇵🇪
  • Online Payments
    • Release Notes
    • ISO errors
    • Kushki API errors
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Preauthorization (tokenless)
      • Create payment (tokenless)
      • Void a transaction
      • Refund a transaction
      • Verify Account
      • Request deferred options
      • Authorize payments
      • Reauthorize payments
      • Capture an authorized payment
      • Validate OTP
      • Bin Info V2
      • Bin Info
    • One-Click & Scheduled Payments
      • Request a recurring charge token
      • Create a recurring charge
      • Update recurring charge card data
      • Make an One-click payment
      • Cancel a recurring charge
      • Update a recurring charge
      • Add a temporary charge or discount
      • Authorize payments
      • Capture an authorized payment
      • Get recurring charge Info
    • Card Out
      • Get Card Payout Token
      • Get Subscription Token
      • Push funds
      • Push Funds in subscriptions
      • Get transaction status
      • Delete Subscription
    • Transfer In
      • Get Transfer In configuration
      • Get Bank List
      • Request a Transfer In token
      • Init Transaction
      • Get Status
    • Transfer Out
      • Get Bank List
      • Get Bank List V2
      • Request a Transfer Out token
      • Init Transaction
      • Get Status
      • Balance for Payouts
    • Cash In
      • Request a cash in token
      • Init Transaction
      • Transaction Status
    • Smartlinks V2
      • Create a Smartlink
      • Update a Smartlink
      • Get a Smartlink
      • Delete a smartlink
    • Analytics
      • Get transactions list v2
    • Chargebacks
      • Query Chargebacks
      • Request Chargeback Export
    • Gateway Status
      • Get gateway status
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Advanced search
      • Activate or deactivate
      • Delete credential
      • Update credential
      • Regenerate a credential
    • Payment Button
      • Create a payment button
    • Platform Status
      • Get platform status
    • Subscription Transactions
      • Get subscription transactions
    • Settlement
      • Query settlement
    • Fraud Report
      • Query fraud alerts
  • Card Present Payments (API Raw)
    • Release notes
    • Key Exchange Process
    • Test data
    • Kushki Error Catalog for POS transactions
    • The Amount Object
    • One-time Payments
      • Single payment
    • Two-step Payments
      • Authorization and capture
    • Voids & Refunds
      • Refund a transaction
      • Void & Reverse
    • Card information
      • Get BIN Info
      • Bin Info V2
      • Request deferred options
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Introduction
      • Good practices
      • Refunds
      • Card Payments
      • Check your webhooks
    • Chargebacks
      • Query Chargebacks
      • Request Chargeback Export
    • Fraud Report
      • Query fraud alerts
  • Kushki One
    • Webhooks
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Cloud Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Abort
          • Void
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
        • Search
          • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
      • Diagnostics
        • Connection test
        • Terminal info
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
      • Diagnostics
        • Connection test
        • Terminal info
  • Appian - Submerchant Register
    • Release Notes
    • Submerchant Validation in Batch
      POST
    • Query submerchant status by requestId/submerchantId
      GET
    • Submerchant Document Upload
      POST
    • Get submerchantIds
      GET
    • Get credentials for submerchants
      POST
  • Schemas
    • Shared
      • ErrorResponse
      • BadRequestResponse
      • InvalidBinResponse
      • payment_method
      • payment_submethod
      • messageFields
      • Channel
    • Amount & Taxes
      • GetConfigurationRequest
    • Identity & Contact
      • Shipping Address
    • Card & Payments
      • ChargesVoidCardResponse
      • Promotions
      • Submerchant
    • Subscriptions
      • SubscriptionUpdate
      • SubscriptionAdjustmentRequest
      • SubscriptionTransactionsResponse
    • Webhooks
    • Analytics
      • AnalyticsTransactionItem
      • AnalyticsListResponse
    • Settlement
      • SettlementDateRangeRequest
      • SettlementTicketRequest
      • SettlementResponse
    • Chargebacks
      • ChargebackListResponse
      • ChargebackSearchRequest
    • Cash
      • CashChargeInitRequest
      • CashStatusResponse
    • Transfer
      • TransferTokenRequest
      • TransferInitRequest
      • TransferStatusResponse
    • Payouts
      • PayoutsWebhooksItem
    • Smart Link
      • SmartLinkAmount
    • Terminal
      • TerminalContactDetails
      • TerminalCardDetails
      • TerminalPosDetails
      • TransactionSearchRequest
      • TerminalCardData
    • RequestBodies
      • one-and-two-step-payment
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • card-old
    • AmountWithTaxes-old
    • Card
    • PrintJobRequest
    • amount
    • one-and-two-step-payment
    • Card Present (CP)
    • one-and-two-step-payment1
    • FraudAlertRequest
    • TransactionResponse
    • Shipping Address
    • transactionType
    • ChargebackItem-old
    • SubscriptionTransaction
    • amount
    • AmountCore-old
    • CommandText-old
    • Deferred
    • networkToken
    • Language
    • extra_taxes
    • CommandText
    • Card Not Present (CNP)
    • FraudAlertResponse
    • RawResponse
    • currency
    • Amount-cash-in
    • ErrorResponse400-old
    • Deferred-old
    • webhooksItem
    • ErrorResponse
    • SettlementResponse
    • extra_taxes-old
    • ExtraTaxes-old
    • CommandColumns-old
    • currency
    • card
    • CommandColumns
    • FraudAlertRecord
    • CardData
    • orderDetails-old
    • Country
    • ErrorResponse401-old
    • SettlementRecord
    • pos_details-old
    • ColumnItem-old
    • Amount
    • card_details
    • ColumnItem
    • ValidationError
    • LinkFailure
    • documentType
    • extraTaxes-old
    • ErrorResponse403-old
    • card_details-old
    • TransactionResponse-old
    • CommandDivider-old
    • extraTaxes
    • enc_tlv
    • CommandDivider
    • TransactionEvent
    • payment_method
    • ErrorResponse500-old
    • threeDomainSecure
    • enc_tlv
    • RawResponse-old
    • CommandFeed-old
    • deferred
    • CommandFeed
    • TransactionStatus
    • binInfo
    • contact_details-old
    • CardData-old
    • CommandSpace-old
    • pos_details
    • CommandSpace
    • ReadingType
    • Billing-Address-old
    • deferred-old
    • sub_merchant
    • AmountWithTip-old
    • CommandCut-old
    • contact_details
    • metadata
    • sub_merchant
    • CommandCut
    • FailureReason
    • headers
    • Amount-old
    • metadata
    • LinkFailure-old
    • CommandImage-old
    • CommandImage
    • EventTerminal
    • ContactDetails-old
    • TransactionSearchRequest-old
    • CommandQR-old
    • orderDetails
    • Subscription
    • CommandQR
    • SubscriptionUpdate
    • EventOperation
    • payment_submethod
    • citMit
    • SubscriptionAdjustmentRequest
    • CommandBarcode-old
    • Shipping Address
    • CommandBarcode
    • EventAmount
    • messageFields
    • PrinterError-old
    • Billing Address
    • PrintJobAccepted
    • EventExtraTaxes
    • webhooksChargeback
    • Language
    • PrintJobStatus-old
    • PrinterError
    • EventMetadata
    • webhooks
    • networkToken-old
    • PrintWebhookPayload-old
    • threeDomainSecure
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • webhooks
    • AmountCore
    • product-old
    • headers
    • PrintWebhookPayload
    • ExtraTaxes
    • Metadata
    • webhooksChargeback
    • UnexpectedErrorResponse-old
    • citMit
    • AmountWithTip
    • TransactionSearchOnlineBody
    • TransactionSearchBody
    • Card-old-old
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • messageFields
    • TransactionEvent_2
    • Promotions-old
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • EventTerminal_2
    • EventOperation_2
    • InvalidBinResponse-old
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • currency
    • Amount-CL-old
    • SettlementTicketRequest
    • metadata
    • network
    • payment_method
    • currency
    • currency
    • Submerchant
    • Shipping Address
    • GetConfigurationRequest-old
    • BadRequestResponse
    • ContactDetails
    • product
    • TransactionEvent_21
    • TransactionStatus2
    • ReadingType3
    • FailureReason_24
    • EventTerminal_25
    • EventOperation_26
    • EventAmount_27
    • EventMetadata_28
    • EventExtraTaxes_29
    • PrintWebhookPayload10
    • TransactionEvent11
    • FailureReason12
    • EventTerminal13
    • EventOperation14
    • EventAmount15
    • EventMetadata16
    • EventExtraTaxes17
    • TransactionSearchOnlineResponse
    • TransactionSearchLocalResponse
    • TransactionSearchOnlineResponse
    • TransactionSearchLocalResponse
    • TransactionSearchOnlineResponse
    • TransactionSearchLocalResponse
    • TransactionSearchOnlineResponse
    • TransactionSearchLocalResponse
HomePerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
HomePerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
Status
Soporte / Support
English
  • English
  • Español
  1. Appian - Submerchant Register

Release Notes


Release notes#

Discover the latest feature releases, product improvements and bug fixes of Appian - Submerchant Register.


Stay up to date with changes and updates to the batch submerchant onboarding endpoint POST /onboarding/v1/submerchants/batch in Peru 🇵🇪.
We use the ISO 8601 standard (YYYY-MM-DD) for dates, and Semantic Versioning (MAJOR.MINOR.PATCH) for version numbers, increasing the:
1.
MAJOR version when we make incompatible API changes,
2.
MINOR version when we add functionality in a backward-compatible manner, and
3.
PATCH version when we make backward-compatible bug fixes.
NEW for new features.
IMPROVEMENTS for changes in existing functionality.
DEPRECATED for soon-to-be removed features.
REMOVED for now removed features.
FIX for any bug fixes.
SECURITY in case of vulnerabilities.

Latest#

1.2.0 - 2026-08-31#


NEW

🆕 Submerchant Document Upload Endpoint & Multi-Region Support Peru 🇵🇪#

The batch submerchant document upload endpoint is now available for Peru 🇵🇪 to complete the onboarding workflow.
New Capabilities:
Document Upload Endpoint: Introduced POST /onboarding/v1/submerchants/documents to allow uploading required KYC/KYB legal documents (e.g., tax certificates, IDs, or proof of address) associated with a submerchant record.
Regional Expansion: The batch onboarding and document management endpoints are fully supported for operational entities in Peru (PER).
NEW

🆕 Card Present and Card Not Present request variants#

Each item in the batch request now accepts one of two named request models. The documentation renders them as separate tabs (Card Present and Card Not Present) so you can pick the model that matches how the submerchant operates.
Key capabilities:
Card Present (CP): for submerchants that accept in‑person, terminal‑based payments. Includes the point‑of‑sale fields (usesKushkiPos, operationMode, emails, paymentOptions, paymentTypes, terminalCount, storeName, storeAddress).
Card Not Present (CNP): for submerchants that accept online / remote payments. Point‑of‑sale fields are not applicable and are omitted.
A single batch call can mix CP and CNP items — each array element is validated against the variant it declares.
INFO
The variant is selected per item. Send the fields that belong to the chosen model; fields from the other model are not accepted.

IMPROVEMENTS
IMPROVEMENTS — submerchantName and Soft Descriptor rules (per specification)
The length rule is corrected. It is not a fixed maximum of 18 characters:
Dynamic maximum length: MIN(18, 21 − length(PSP Prefix) − 1).
The system normalizes to uppercase and trims spaces.
The system builds the Soft Descriptor: PREFIX*SUBMERCHANT_NAME (max 21 characters). The client sends only submerchantName; the prefix and * are added by the system.
Allowed charset: A-Z, 0-9, &, -, and single spaces; at least one letter.
Not allowed: accents, Ñ, special characters, *, or double spaces. E.g. use PENA instead of PEÑA.
Rejected if, after normalization, it exceeds the dynamic maximum length or contains unsupported characters.
The specification for submerchantName has been updated to clarify character constraints, automatic normalization, and dynamic length rules for building Soft Descriptors:
Dynamic Length Limit: The effective maximum character length is calculated dynamically based on your PSP account's configured prefix using the formula:
Automatic Normalization: The input value is automatically converted to UPPERCASE and stripped of leading/trailing spaces (trim).
Allowed Characters: Uppercase letters (A–Z), numbers (0–9), ampersands (&), hyphens (-), and single spaces between words.
Letter Requirement: Must contain at least one letter (A–Z). Numeric-only strings (e.g., "12345") are rejected.
Prohibited Characters: Accents/tildes (Á, É), Ñ, asterisks (*), double spaces, and special symbols (@, #, $, %) are strictly prohibited.
Soft Descriptor: Do not include your PSP prefix, asterisks, or attempt to assemble the Soft Descriptor manually. The system automatically constructs the final descriptor as PREFIX*SUBMERCHANT NAME (maximum 21 total characters).
WARNING
Requests will fail with a BAD_REQUEST error if submerchantName exceeds the dynamic maximum character length configured for your PSP prefix, or if it contains forbidden characters (such as accents or Ñ). Please normalize text before sending (e.g., use PENA instead of PEÑA).

Previous release notes#

1.1.0 - 2026-01-01#


NEW

🆕 Batch submerchant onboarding#

Initial release of the batch submerchant onboarding endpoint POST /onboarding/v1/submerchants/batch in Peru 🇵🇪, allowing multiple submerchants to be created in a single request.

Got a suggestion on this documentation? Contact us.
Modified at 2026-09-03 21:05:54
Previous
Appian - Submerchant Register
Next
Submerchant Validation in Batch
Built with