KashierDevelopersKashier Developers

Create payment page

curl -X POST "https://test-api.kashier.io/v2/paymentPage" \  -H "Content-Type: application/json" \  -d '{    "pageName": "Q1 Sales Page",    "description": "Payment page for Q1",    "currency": "EGP",    "type": "regular",    "isMobileRequired": true,    "isEmailRequired": true,    "paymentMethods": [      "card"    ],    "paymentObject": {      "isFixed": true,      "amount": "100.00"    },    "tax": 0,    "isShippable": false,    "isPublished": true  }'
{  "body": {    "_id": "507f1f77bcf86cd799439011",    "linkId": "PP-XXXXXXXXXX",    "merchantId": "MID-XXXX-XXXX",    "pageName": "Q1 Sales Page",    "description": "Payment page for Q1",    "type": "regular",    "currency": "EGP",    "isMobileRequired": true,    "isEmailRequired": true,    "isPublished": true,    "isShippable": false,    "paymentMethods": [      "card"    ],    "paymentObject": {      "isFixed": true,      "amount": 100    },    "tax": 0,    "totalPaidAmount": 0,    "totalPaymentCount": 0,    "totalPendingCount": 0,    "creationDate": "2026-07-30 09:12:44.201000+00:00"  },  "message": "success"}

Creates a payment page. Kashier mints a link identifier (PP-…) for the page, which is what the public URL and the /public reads are keyed on. Set paymentObject.isFixed to collect one fixed amount, or leave it false to let the customer enter the amount.

Authorization

secretKey
Authorization<token>

Merchant secret key used to identify the merchant, obtained from Kashier's dashboard. Pass the raw secret key value in the Authorization header (NOT a "Bearer" token).

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

The payment page to create. type decides the shape — regular collects a single amount, product lists a catalogue the customer buys from.

Response Body

application/json

application/json

application/json

application/json

application/json

POST
/v2/paymentPage