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. Payment method: charges run against a saved credit-card token. The payment method is determined by your Grow gateway configuration, not by a request parameter — there is no field to choose or filter the payment method on the charge call.

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/charge

Charge 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

NameTypeDescription
paymentTokenId
numberrequiredID of the saved card token to charge.
amount
numberrequiredAmount to charge, in the account currency (e.g. ILS).
description
stringrequiredCharge description, shown on the transaction and on any generated document.
paymentNum
stringNumber of installments to split the charge into. Defaults to "1".
companyCommission
numberOptional commission amount added on top of the charge.
payingCompanyId
numberID of the company being charged, when different from the authenticated company.
createDocumentOnPayment
booleanIf 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/refund

Refund a previously charged transaction. Refunds the full transaction total.

The transaction is marked REFUNDED, which is both what the transactions list then reports and what stops a second refund going through.

Body Parameters

NameTypeDescription
transactionId
numberrequiredInternal 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-hold

Give up a pre-authorised hold (J5) — mark it cancelled so nothing more is done with it.

**The funds are not freed immediately.** The gateway has no void call, so this marks the transaction CANCELED on Glance and nothing is sent to the provider — `providerReleased: false` says exactly that. The bank releases the hold on its own, typically within ten days. Tell the customer that, rather than promising an instant release.

Body Parameters

NameTypeDescription
transactionId
numberrequiredInternal 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": 6001,
    "status": "CANCELED",
    "providerReleased": false,
    "message": "Hold released on Glance. Grow has no void API — the bank releases the held funds automatically within ~10 days."
  }
}
POST/grow/payments/capture-hold

Settle a pre-authorised hold — take the money that was reserved.

Refuses with `{ success: false, error }` when the hold was already released, already captured, or refunded — so a repeated call cannot charge twice.

Body Parameters

NameTypeDescription
transactionId
numberrequiredInternal transaction id of the held transaction.
amount
numberCapture only this much of what was authorised. Omitted, the full authorised amount is taken; the gateway releases the difference as part of the settle.

Request

curl -X POST "https://api.glance.co.il/grow/payments/capture-hold" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "transactionId": 0,
  "amount": 0
}'

Response

Response
{
  "success": true,
  "data": {
    "transactionId": 12345678,
    "asmachta": "0012345",
    "sum": "250.00"
  }
}
GET/grow/payments/transactions

List payment transactions with optional filtering, sorting, and pagination.

Query Parameters

NameTypeDescription
status
stringFilter by status. One of "PENDING", "PAID", "CANCELED", "REFUNDED".
type
stringFilter by type. One of "PAYMENT", "RECCURING", "TOKEN".
description
stringFree-text filter on the transaction description.
startDate
stringFilter from date (ISO 8601).
endDate
stringFilter to date (ISO 8601).
sortBy
stringSort field: "date" (the default), "id", "amount", "total", "status", "type", "createdAt" or "updatedAt". Anything else falls back to "date".
sortOrder
string"asc" or "desc" (default).
limit
numberItems per page (default 50).
offset
numberNumber 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/:id

Get a single transaction by its internal ID.

Path Parameters

NameTypeDescription
id
numberrequiredInternal 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"
  }
}

Last updated