Charges & Transactions
Charge saved credit cards, refund or release held transactions, and query your transaction history. Payments are processed through the Glance Grow gateway. All responses use the { success, data } envelope.
Use cases: Use this API to charge a customer's saved card on demand, issue refunds, release a pre-authorized hold, and reconcile transactions against invoices.
POST
/grow/payments/chargeCharge a customer's saved card. The card must already be saved as a payment token (see Saved Cards).
On failure the response is { success: false, error, data }, where data holds the raw gateway payload. Save the internalTransactionId — it is the transactionId you pass to refund and release-hold.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
paymentTokenId | number | required | ID of the saved card token to charge. |
amount | number | required | Amount to charge, in the account currency (e.g. ILS). |
description | string | required | Charge description, shown on the transaction and on any generated document. |
paymentNum | string | Number of installments to split the charge into. Defaults to "1". | |
companyCommission | number | Optional commission amount added on top of the charge. | |
payingCompanyId | number | ID of the company being charged, when different from the authenticated company. | |
createDocumentOnPayment | boolean | If true, automatically issue a receipt/invoice document on a successful charge. Defaults to false. |
Request
curl -X POST "https://api.glance.co.il/grow/payments/charge" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"paymentTokenId": 0,
"amount": 0,
"description": "example_description",
"paymentNum": "example_paymentNum",
"companyCommission": 0,
"payingCompanyId": 0,
"createDocumentOnPayment": true
}'Response
Response
{
"success": true,
"data": {
"internalTransactionId": 6001,
"data": {
"transactionId": 12345678,
"transactionToken": "a1b2c3d4e5f6",
"asmachta": "0012345",
"sum": "250.00",
"cardSuffix": "4242",
"cardBrand": "Visa",
"numOfPayments": 1,
"statusCode": 2
}
}
}POST
/grow/payments/refundRefund a previously charged transaction. Refunds the full transaction total.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
transactionId | number | required | Internal transaction ID — the internalTransactionId returned by the charge endpoint, or the id from the transactions list. |
Request
curl -X POST "https://api.glance.co.il/grow/payments/refund" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transactionId": 0
}'Response
Response
{
"success": true,
"data": {
"transactionId": 87654321,
"asmachta": "0067890",
"sum": "250.00"
}
}POST
/grow/payments/release-holdRelease a pre-authorized hold (J5 authorization) on a transaction so the reserved funds are freed on the customer's card.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
transactionId | number | required | Internal transaction ID of the held transaction to release. |
Request
curl -X POST "https://api.glance.co.il/grow/payments/release-hold" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transactionId": 0
}'Response
Response
{
"success": true,
"data": {
"transactionId": 87654321,
"status": "released"
}
}GET
/grow/payments/transactionsList payment transactions with optional filtering, sorting, and pagination.
Query Parameters
| Name | Type | Description | |
|---|---|---|---|
status | string | Filter by status. One of "PENDING", "PAID", "CANCELED", "REFUNDED". | |
type | string | Filter by type. One of "PAYMENT", "RECCURING", "TOKEN". | |
description | string | Free-text filter on the transaction description. | |
startDate | string | Filter from date (ISO 8601). | |
endDate | string | Filter to date (ISO 8601). | |
sortBy | string | Sort field: "date" (default), "amount", "total", "status", "type", "createdAt". | |
sortOrder | string | "asc" or "desc" (default). | |
limit | number | Items per page (default 50). | |
offset | number | Number of items to skip (default 0). |
Request
curl -X GET "https://api.glance.co.il/grow/payments/transactions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
Response
{
"success": true,
"data": [
{
"id": 6001,
"amount": 250,
"total": 250,
"description": "Invoice #1001 payment",
"status": "PAID",
"type": "PAYMENT",
"paidByName": "Acme Corp",
"externalTransactionId": "12345678",
"numPayments": 1,
"date": "2026-03-20T14:30:00Z"
}
],
"pagination": {
"total": 320,
"limit": 50,
"offset": 0,
"hasMore": true
}
}GET
/grow/payments/transactions/:idGet a single transaction by its internal ID.
Path Parameters
| Name | Type | Description | |
|---|---|---|---|
id | number | required | Internal transaction ID. |
Request
curl -X GET "https://api.glance.co.il/grow/payments/transactions/:id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
Response
{
"success": true,
"data": {
"id": 6001,
"amount": 250,
"total": 250,
"companyFeeBeforeTax": 0,
"creditCardFeeBeforeTax": 3.5,
"description": "Invoice #1001 payment",
"status": "PAID",
"type": "PAYMENT",
"paidByName": "Acme Corp",
"externalTransactionId": "12345678",
"numPayments": 1,
"documentId": 1001,
"date": "2026-03-20T14:30:00Z"
}
}