Card Payments

Card Payment Processor

post

This endpoint initiates a card payment transaction. Encrypted card_hash has the following JSON fields:

  • card_type: Type of card (e.g., MASTER, VISA, etc.)
  • cardname: Cardholder Name
  • card_number: Card Digits
  • card_cvv: Card CVV or CVV2
  • expiry_month: Card Expiry Month
  • expiry_year: Card Expiry Year
  • token: Card token from previous transaction response (if provided, leave card details empty)

Card AES (CBC Mode) Encryption Formula: Base64Encode(AESEncrypt(card_json_data, 'secret', 'key')) (e.g., Output: NVlTU29VRUlPeUc2ZGc3cFlzTHpzb2hXZXN1U3RjYUlTd2w4cXhRMVkyWT0=)

Body
merchant_idstringOptional

Merchant platform no.

tranxRefstringOptional

Merchant transaction reference

amountnumber · decimalOptional

Transaction amount in decimal value (e.g: 5000.00)

currencystringOptional

Transaction currency example (e.g: GBP)

billing_countrystring | nullableOptional

Customer country ISO-2 code for new customer

billing_addressstring | nullableOptional

Customer address for new customer

billing_statestring | nullableOptional

Customer state for new customer

billing_citystring | nullableOptional

Customer city for new customer

billing_zipcodestring | nullableOptional

Customer zip code for new customer

redirect_urlstringOptional

Merchant platform redirect url after 3D authentication. is completed by the customer

ipstringOptional

Customer IP address, must be unique per customer transaction.

card_hashstringOptional

Encrypted customer card information.

customerone ofOptional

Customer Data

Responses
200

Response.

application/json
Responseall of
and
post
/api/v1/payment/card-processor
POST /api/v1/payment/card-processor HTTP/1.1
Host: gateway-core-test.plonictech.com
Content-Type: application/json
Accept: */*
Content-Length: 328

{
  "merchant_id": "text",
  "tranxRef": "text",
  "amount": 1,
  "currency": "text",
  "billing_country": "text",
  "billing_address": "text",
  "billing_state": "text",
  "billing_city": "text",
  "billing_zipcode": "text",
  "redirect_url": "text",
  "ip": "text",
  "card_hash": "text",
  "customer": {
    "email": "text",
    "phonenumber": "text",
    "firstname": "text",
    "lastname": "text"
  }
}
{
  "message_id": "text",
  "message": "text",
  "succeeded": true,
  "statuscode": 1,
  "data": {
    "transaction_id": "text",
    "merhc_tranxRef": "text",
    "transactionRef": "text",
    "amount": 1,
    "currency": "text",
    "ip": "text",
    "card_details": {
      "type": "text",
      "first6": "text",
      "last4": "text",
      "expYear": "text",
      "expMonth": "text",
      "cardName": "text",
      "token": "text"
    },
    "status": "text",
    "authorization_url": "text",
    "authorization_params": null,
    "authorization_method": "text",
    "transaction_date": "text"
  }
}

Transaction Status Query

get

This is the transaction status after processing:

Pending | Failed | Successful

Pending_Refund | Refunded | Chargeback

Pending_Cancel | Cancelled

Query parameters
MerchantRefstring | nullableOptional

Merchant Reference.

TransactionRefstring | nullableOptional

Transaction Reference.

Responses
200

Response.

application/json
Responseall of
and
get
/api/v1/payment/query-status
GET /api/v1/payment/query-status HTTP/1.1
Host: gateway-core-test.plonictech.com
Accept: */*
{
  "message_id": "text",
  "message": "text",
  "succeeded": true,
  "statuscode": 1,
  "data": {
    "transaction_id": "text",
    "merhc_tranxRef": "text",
    "platform_tranxRef": "text",
    "amount": 1,
    "currency": "text",
    "card_details": {
      "type": "text",
      "first6": "text",
      "last4": "text",
      "expYear": "text",
      "expMonth": "text",
      "cardName": "text",
      "token": "text"
    },
    "status": "text",
    "transaction_date": "text"
  }
}

Transaction Full Details

get

This endpoint fetch full transaction details with customer information

Path parameters
transactionidstring · guidRequired
Responses
200

Response.

application/json
Responseall of
and
get
/api/v1/payment/{transactionid}/details
GET /api/v1/payment/{transactionid}/details HTTP/1.1
Host: gateway-core-test.plonictech.com
Accept: */*
{
  "message_id": "text",
  "message": "text",
  "succeeded": true,
  "statuscode": 1,
  "data": {
    "transactionId": "text",
    "merchantID": "text",
    "merchantTranxRef": "text",
    "transactionRef": "text",
    "amount": 1,
    "currency": "text",
    "ip": "text",
    "cardDetails": {
      "type": "text",
      "first6": "text",
      "last4": "text",
      "expYear": "text",
      "expMonth": "text",
      "cardName": "text",
      "token": "text"
    },
    "status": "text",
    "transactionDate": "text",
    "deliveryDate": "text",
    "description": "text",
    "customerInfo": {
      "email": "text",
      "phonenumber": "text",
      "firstname": "text",
      "lastname": "text"
    }
  }
}
get

Search transactions using available filters.

Body
all ofOptional
and
Responses
200

Response.

application/json
get
/api/v1/payment/search
GET /api/v1/payment/search HTTP/1.1
Host: gateway-core-test.plonictech.com
Content-Type: application/json
Accept: */*
Content-Length: 105

{
  "pageNumber": 1,
  "pageSize": 1,
  "startDate": "2025-12-06T04:44:54.549Z",
  "endDate": "2025-12-06T04:44:54.549Z"
}
{
  "data": [
    {
      "transaction_id": "text",
      "merhc_tranxRef": "text",
      "transactionRef": "text",
      "amount": 1,
      "currency": "text",
      "card_details": {
        "type": "text",
        "first6": "text",
        "last4": "text",
        "expYear": "text",
        "expMonth": "text",
        "cardName": "text"
      },
      "status": "text",
      "transaction_date": "text"
    }
  ],
  "currentPage": 1,
  "totalPages": 1,
  "totalCount": 1,
  "pageSize": 1,
  "hasPreviousPage": true,
  "hasNextPage": true
}

Last updated