POST
/
sku-transactions
curl -X POST "https://api.chipipay.com/v1/sku-transactions" \
  -H "Authorization: Bearer sk_prod_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
  "walletAddress": "0x049d36570d4e46f48e99674bd3fcc84644ddgruheumskde",
  "skuId": "test_10",
  "chain": "STARKNET",
  "chainToken": "ETH",
  "mxnAmount": 250.00,
  "reference": "TET_PURCHASE_20241201",
  "transactionHash": "0x1234567890abcdef1234567890abcdef1234567890lwijeqijepqeqqaedef"
}'
{
  "id": "sku-tx-b43ea3b1-3366-4ecb-9006-bb73b55767dc",
  "orgId": "org_31921AlOILtmngHwdqKOYRgYgfe",
  "walletAddress": "0x049d36570d4e46f48e9Sasjkidd6b96f7c741b1562b82f9e004dc7",
  "skuId": "test_100",
  "mxnAmount": 250,
  "usdAmount": 13.4202222,
  "reference": "TET_PURCHASE_20241201",
  "fileNumber": null,
  "status": "PENDING",
  "chain": "STARKNET",
  "chainToken": "ETH",
  "transactionHash": "0x1234567890abcdef1234567aka34567890abcdef1234567890abcdef",
  "createdAt": "2025-08-14T00:05:06.602Z",
  "updatedAt": "2025-08-14T00:05:06.602Z",
  "errorMessage": null
}
curl -X POST "https://api.chipipay.com/v1/sku-transactions" \
  -H "Authorization: Bearer sk_prod_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
  "walletAddress": "0x049d36570d4e46f48e99674bd3fcc84644ddgruheumskde",
  "skuId": "test_10",
  "chain": "STARKNET",
  "chainToken": "ETH",
  "mxnAmount": 250.00,
  "reference": "TET_PURCHASE_20241201",
  "transactionHash": "0x1234567890abcdef1234567890abcdef1234567890lwijeqijepqeqqaedef"
}'
{
  "id": "sku-tx-b43ea3b1-3366-4ecb-9006-bb73b55767dc",
  "orgId": "org_31921AlOILtmngHwdqKOYRgYgfe",
  "walletAddress": "0x049d36570d4e46f48e9Sasjkidd6b96f7c741b1562b82f9e004dc7",
  "skuId": "test_100",
  "mxnAmount": 250,
  "usdAmount": 13.4202222,
  "reference": "TET_PURCHASE_20241201",
  "fileNumber": null,
  "status": "PENDING",
  "chain": "STARKNET",
  "chainToken": "ETH",
  "transactionHash": "0x1234567890abcdef1234567aka34567890abcdef1234567890abcdef",
  "createdAt": "2025-08-14T00:05:06.602Z",
  "updatedAt": "2025-08-14T00:05:06.602Z",
  "errorMessage": null
}

Overview

Purchase a service using a blockchain transaction. Before calling this endpoint, you must first process a payment using the Chipi Pay smart contract and provide the transaction hash.

Endpoint

POST /sku-transactions

Headers

Authorization
string
required
Your secret key prefixed with “Bearer ”
Content-Type
string
application/json

Request Body

walletAddress
string
required
The wallet address that made the payment transaction
skuId
string
required
The SKU ID of the service you want to purchase (obtained from GET /skus)
chain
string
required
The blockchain network ID. Supported values: “STARKNET”, “BASE”, “ARBITRUM”, “OPTIMISM”, “ROOTSTOCK”, “SCROLL”
chainToken
string
required
The token used for payment. Supported values: “USDC”, “ETH”, “STRK”, “SLINK”, “ALF”, “BROTHER”, “ARB”, “DOC”
mxnAmount
number
required
The amount in MXN (Mexican Pesos) for the service
reference
string
required
A unique reference number for this transaction (e.g., phone number, account number)
transactionHash
string
required
The transaction hash from the blockchain payment

Response Fields

id
string
Unique identifier for this transaction
orgId
string
Organization ID that created the transaction
walletAddress
string
The wallet address that made the payment
skuId
string
The SKU ID of the purchased service
mxnAmount
number
The amount in MXN
usdAmount
number
The amount in USD (calculated from MXN)
reference
string
The reference number provided
fileNumber
string
File number for the transaction (if applicable, null otherwise)
status
string
Current status of the transaction (“pending”, “processing”, “completed”, “failed”)
chain
string
The blockchain network used
chainToken
string
The token used for payment
transactionHash
string
The blockchain transaction hash
errorMessage
string
Error message if the transaction failed (null if successful)
createdAt
string
ISO 8601 timestamp of when the transaction was created
updatedAt
string
ISO 8601 timestamp of when the transaction was last updated

Webhook Notifications

Once the transaction is submitted, you’ll receive status updates via webhooks at the URL you configured in your dashboard. The webhook payload will include the transaction status and any additional details about the service delivery.

Error Responses

{
  "error": "invalid_request",
  "message": "Missing required field: skuId"
}

Smart Contract Integration

Before calling this endpoint, you must process the payment using the Chipi Pay smart contract: The transaction hash from the smart contract payment is required to complete the service purchase.

Supported Chains and Tokens

Chains:
  • STARKNET
  • BASE
  • ARBITRUM
  • OPTIMISM
  • ROOTSTOCK
  • SCROLL
Tokens:
  • USDC
  • ETH
  • STRK
  • SLINK
  • ALF
  • BROTHER
  • ARB
  • DOC

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Service purchase request

walletAddress
string
required

The wallet address that made the payment transaction

skuId
string
required

The SKU ID of the service you want to purchase

chain
enum<string>
required

The blockchain network ID

Available options:
STARKNET,
BASE,
ARBITRUM,
OPTIMISM,
ROOTSTOCK,
SCROLL
chainToken
enum<string>
required

The token used for payment

Available options:
USDC,
ETH,
STRK,
SLINK,
ALF,
BROTHER,
ARB,
DOC
mxnAmount
number
required

The amount in MXN (Mexican Pesos) for the service

reference
string
required

A unique reference number for this transaction (e.g., phone number, account number)

transactionHash
string
required

The transaction hash from the blockchain payment

Response

Transaction created

id
string
required

Unique identifier for this transaction

orgId
string
required

Organization ID that created the transaction

walletAddress
string
required

The wallet address that made the payment

skuId
string
required

The SKU ID of the purchased service

mxnAmount
number
required

The amount in MXN

usdAmount
number
required

The amount in USD

reference
string
required

The reference number provided

status
enum<string>
required

Current status of the transaction

Available options:
pending,
processing,
completed,
failed
chain
enum<string>
required

The blockchain network used

Available options:
STARKNET,
BASE,
ARBITRUM,
OPTIMISM,
ROOTSTOCK,
SCROLL
chainToken
enum<string>
required

The token used for payment

Available options:
USDC,
ETH,
STRK,
SLINK,
ALF,
BROTHER,
ARB,
DOC
transactionHash
string
required

The blockchain transaction hash

createdAt
string<date-time>
required

ISO 8601 timestamp of when the transaction was created

updatedAt
string<date-time>
required

ISO 8601 timestamp of when the transaction was last updated

fileNumber
string

File number for the transaction (if applicable)

errorMessage
string

Error message if the transaction failed