PayStar API Documentation
  1. Merchant EN
  • Merchant EN
    • Introduction
    • Glossary
    • Authorization key
    • Sandbox
    • Additional fields
    • Currencies
    • Bank names
    • Telecom operators
    • Callbacks
    • Error descriptions
    • Tech FAQ
    • Order History
    • Integratins
      • Stripe
      • Inwizo
      • 2Checkout
      • Adyen
      • AffiniPay
      • Alikassa
      • AlliancePay
      • Amazon Pay
      • AnyMoney
      • AstroPay
      • Aureavia
      • AurisMyChanger
      • Authorize.Net
      • Avatarix
    • Balance H2H
      GET
    • Deposit H2H - Card & P2P
      POST
    • Deposit H2H - Token
      POST
    • Deposit H2C - Card
      POST
    • Deposit status H2H - PayStar ID
      GET
    • Deposit status H2H - Merch ID
      GET
    • Payout H2H
      POST
    • Payout status H2H - PayStar ID
      GET
    • Payout status H2H - Merch ID
      GET
  1. Merchant EN

Additional fields

INFO
This section describes optional and context-specific fields that can be included in payment and payout requests. These fields allow for extended customization and support integration scenarios that require additional metadata or business logic parameters.
AdditionalFields you can add in next methods:
Deposit H2H - Card & P2P — hosted on the secure subdomain. Requires the merchant to have a PCI DSS certificate and allows direct card data transmission between servers (host-to-host).
Deposit H2H - Token — hosted on the token subdomain. Enables recurring payments using previously obtained tokens.
Deposit H2С - Card — hosted on the init subdomain. Does not require PCI DSS. Used to initiate a payment without card data; the user is then redirected to a web form to enter card details.
Payout H2H — a server-to-server interaction method, similar to deposits.
These fields may be used for both deposits and payouts.
Different payment gateways integrated with PayStar may require different sets of additional fields. Some of these fields can also be used for validation or routing purposes. In other words, the exact set of required additional fields depends on the specific financial flow and cannot be predefined in this documentation.
You have two options:
Provide all available additional fields in your request;
Contact your Account Manager to confirm which fields are required in your specific use case.
CURL Example all additional fields
curl --request POST \
  --url https://secure.PayStar.uk/api/v1/integration/deposit-order\ 
  --header 'Authorization: Bearer YOUR TOKEN' \
  --header 'Content-Type: application/json' \
  --header 'accept: text/plain' \
  --data '{
    "amount": 100, 
    "currency": "USD",
    "externalTransactionId": "Merch-bf95219b-393d-4323-91bf-639be",
    "additionalFields": [ 
        {
            "key": "type",
            "value": "card"
        },
        {
            "key": "productCode",
            "value": "Merch-12345" 
        }, 
        {
            "key": "phoneNumber",
            "value": "+44644012345"
        },
        {
            "key": "telecomOperator",
            "value": "vadafone" 
        },  
        {
            "key": "payeerIdentifier",
            "value": "Merch-12345" 
        },
        {
            "key": "email",
            "value": "Jhon.Wick@Continental-Hotel.com" 
        },
        {
            "key": "cardNumber",
            "value": "1234123412341234"
        },
        {
            "key": "cardHolder",
            "value": "JOHN WEAK" 
        },
        {
            "key": "cardCvv",
            "value": "583" 
        },
        {
            "key": "cardExpireMonth",
            "value": "05" 
        },
        {
            "key": "cardExpireYear",
            "value": "26" 
        },
        {
            "key": "bankName",
            "value": "All"
        },     
        {
            "key": "ip",
            "value": "62.76.69.168" 
        },
        {
            "key": "browserAcceptHeader",
            "value": "text/html,application/xhtml+xml,application/xml..."
        },
        {
            "key": "browserJavaEnabled",
            "value": "true"
        },
        {
            "key": "browserJavascriptEnabled",
            "value": "true"
        }, 
        {
            "key": "browserLanguage",
            "value": "en-EN" 
        },
        {
            "key": "browserColorDepth",
            "value": "24" 
        },
        {
            "key": "browserScreenWidth",
            "value": "1920" 
        },
        {
            "key": "browserScreenHeight",
            "value": "1920" 
        }, 
        {
            "key": "browserTZ",
            "value": "-180" 
        },
        {
            "key": "browserChallengeWindowSize",
            "value": "03"
        },
        {
            "key": "browserUserAgent",
            "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)..."
        }

    ]
}

Payment details#

type#

Specifies the type of payment method used, in this case card indicates a card-based transaction.

productCode#

A unique code representing the product or service being purchased, which the merchant defines for their own records.

Card details#

cardNumber#

The card number provided by the user for the transaction. This is a 16-digit number uniquely identifying the card.

cardCvv#

The Card Verification Value, a 3- or 4-digit code, typically found on the back of the card. It is used as a security measure to verify that the card is in the possession of the cardholder.

cardExpireMonth#

The expiration month of the card in MM format. For example, if the card expires in May, this value will be 05.

cardExpireYear#

The expiration year of the card in YY format. For example, if the card expires in 2026, this value will be 26.

cardHolder#

The name on the card. This should match the name registered with the card issuer.

token#

A Token is an identifier for card details stored in a secure vault, enabling repeat payments without re-entering card information.

User Details#

payeerIdentifier#

The unique identifier of the payer in the merchant's system.

bankName#

The name of the bank issuing the card, useful for identification purposes.

email#

The email address of the user making the transaction. This can be used for transaction receipts and communication.

ip#

The IP address of the user making the request. It can be used for security and fraud detection.

Telecom details#

telecomOperator#

The name of the telecom operator to whom the user wishes to make a payment.

phoneNumber#

The phone number that the user wishes to top up.

Browser details#

browserAcceptHeader#

The Accept header sent by the user’s browser. This defines the types of media the client is willing to accept (e.g., text/html, application/xml).

browserJavaEnabled#

A boolean value indicating whether Java is enabled in the user’s browser. It can be used for additional fraud checks.

browserJavascriptEnabled#

A boolean value indicating whether JavaScript is enabled in the user’s browser, commonly used to detect modern browser capabilities.

browserLanguage#

The language setting of the user’s browser, in the format of a language tag (e.g., en-US, ru-RU).

browserColorDepth#

The color depth (in bits) of the user’s browser. For example, 24 refers to 24-bit color depth.

browserScreenWidth#

The screen width of the user’s device in pixels. Useful for determining the client’s display capabilities.

browserScreenHeight#

The screen height of the user’s device in pixels.

bbrowserTZ#

The user’s browser time zone offset in minutes from UTC. Negative values indicate time zones west of UTC.

browserChallengeWindowSize#

This defines the size of the challenge window used in 3D Secure authentication, with codes like 01, 02, 03, etc., corresponding to specific window sizes.

browserUserAgent#

The User-Agent string sent by the user’s browser. It provides information about the client’s browser, operating system, and device type.
Modified at 2025-05-29 09:14:42
Previous
Sandbox
Next
Currencies
Built with