Skip to content

International Card (INTERNATIONAL_CARD)

This section describes the methodCode and methodData requirements for card payments.

createAndPay request example (full)

json
{
  "merchantOrderNo": "M202412220001",
  "amount": "100",
  "currency": "USD",
  "productName": "Integration Test Product",
  "productDesc": "Full flow integration test",
  "remark": "Step 2: Create And Pay",
  "methodCode": "INTERNATIONAL_CARD",
  "billingAddress": {
    "country": "US",
    "state": "CA",
    "city": "San Francisco",
    "addressLine1": "123 Test Street",
    "postalCode": "94102"
  },
  "methodData": {
    "cardNumber": "4242424242424242",
    "expiryMonth": "12",
    "expiryYear": "27",
    "securityCode": "123",
    "holderName": "Test Visa"
  }
}

Java Map example:

java
Map<String, Object> requestBody = Map.ofEntries(
        Map.entry("merchantOrderNo", merchantOrderNo),
        Map.entry("amount", "100"),
        Map.entry("currency", "USD"),
        Map.entry("productName", "Integration Test Product"),
        Map.entry("productDesc", "Full flow integration test"),
        Map.entry("remark", "Step 2: Create And Pay"),
        Map.entry("methodCode", "INTERNATIONAL_CARD"),
        Map.entry("billingAddress", Map.of(
                "country", "US",
                "state", "CA",
                "city", "San Francisco",
                "addressLine1", "123 Test Street",
                "postalCode", "94102"
        )),
        Map.entry("methodData", Map.of(
                "cardNumber", "4242424242424242",
                "expiryMonth", "12",
                "expiryYear", "27",
                "securityCode", "123",
                "holderName", "Test Visa"
        ))
);

Request fields (top-level)

Required

FieldDescription
merchantOrderNoMerchant order number (idempotent)
amountOrder amount, minimum 0.01
currencyCurrency
methodCodePayment method code (INTERNATIONAL_CARD)
methodDataPayment method data (see below)

Optional

FieldDescription
productNameProduct name
productDescProduct description
billingAddressBilling address (see Address Structure)
shippingAddressShipping address (see Address Structure)
remarkRemark
returnUrlSync redirect URL (lower priority than merchant config)
extParamsExtended parameters (JSON)
lineItemsOrder line items (see LineItem Structure)

Method code

  • methodCode: INTERNATIONAL_CARD

Address Structure (billingAddress / shippingAddress)

FieldRequiredDescription
countryNoCountry (ISO-3166-1 alpha-2, e.g., US / GB / CN)
stateNoState or province (US: CA / NY, CA: ON / BC)
cityNoCity
postalCodeNoPostal code
addressLine1NoAddress line 1 (street number + street name)
addressLine2NoAddress line 2 (floor / room / unit, optional)
nameNoRecipient or cardholder name

Example:

json
{
  "country": "US",
  "state": "CA",
  "city": "San Francisco",
  "postalCode": "94102",
  "addressLine1": "123 Test Street",
  "addressLine2": "Suite 5F",
  "name": "Test Visa"
}

LineItem Structure

FieldRequiredDescription
nameNoProduct name
quantityNoQuantity
skuNoSKU
unitPriceNoUnit price (minor units)
totalAmountNoTotal amount (minor units)
taxAmountNoTax amount (minor units)
taxPercentageNoTax rate (percentage * 100)

Example:

json
{
  "name": "T-shirt",
  "quantity": 2,
  "sku": "TSHIRT-RED-M",
  "unitPrice": 2500,
  "totalAmount": 5000,
  "taxAmount": 300,
  "taxPercentage": 600
}

methodData fields

The createAndPay API uses plaintext card fields and does not require encrypted fields. Encrypted fields are only for hosted checkout.

Plaintext card fields (required for createAndPay)

FieldRequiredDescription
cardNumberYesCard number (plaintext)
expiryMonthYesExpiry month (plaintext)
expiryYearYesExpiry year (plaintext)
securityCodeYesSecurity code (CVV/CVC)

createAndPay uses plaintext card fields; hosted checkout only accepts encrypted fields.

Optional fields

FieldRequiredDescription
holderNameNoCardholder name
statementDescriptorNoStatement descriptor
captureMethodNoCapture method: auto_capture / manual
threeDsModeNo3DS mode: required / optional / disabled
enabledOneClickNoEnable one-click payment
shopperReferenceNoUnique shopper reference (for one-click)
payTokenNoPay token (for one-click)

methodData example

Plaintext card example:

json
{
  "cardNumber": "4111111111111111",
  "expiryMonth": "12",
  "expiryYear": "27",
  "securityCode": "123",
  "holderName": "Test Visa"
}