Refund (Withdrawal) Doc API
This guide explains how to generate a new refund document by calling the Create_Refund_Json function.The function receives a JSON data structure with document header fields and an [Items] array that contains the refund / withdrawal method lines.
After validation, the system produces the original refund document, creates journal entries and cash-management rows when relevant, and returns the generated refund header record in the Doc object.
JSON Structure Example for Refund Creation
{
"ClientNumber": 500608,
"Ticket_ID": "WD-998877",
"InternalDoc_Dont_Send": true,
"SalesAgent": "Dani",
"Notes": "Client portal withdrawal request 1234",
"IPAddress": "203.0.113.25",
"RefundFormPurpose": 1,
"MoneyLaundering": 0,
"Items": [
{
"RefundMethod": 2,
"PaymentDate": "2026-04-26",
"TotalAmount": 1500.0,
"Currency": "ILS",
"BankCode": "12",
"BranchSwift": "001",
"Account": "123456",
"FromInternalAccount": 1100
}
]
}
Refund Document Header Fields
These fields are passed at the root level of the JSON object.Fields defined as mandatory are marked accordingly.
| JSON Field Name | Data Type | Description |
|---|---|---|
| ClientNumber | Integer | Client number in Hyper. In the client portal endpoint, the server uses the authenticated client session as the actual account. |
| Ticket_ID | String | Service ticket number or internal reference used to prevent duplicate refund creation. |
| InternalDoc_Dont_Send | Boolean | Whether to prevent sending a signed digital document to the client. Setting to true marks the refund as "Do not distribute". |
| PersonalIdVerificationMadeBy | String | Client identity verified by. Must be a valid enabled Hyper username. If not supplied, the Web API sets Online SelfService. |
| SalesAgent | String | Sales agent associated with the refund document. Must be a valid enabled Hyper username. |
| Notes | String | General notes that will appear on the refund / withdrawal document. |
| IPAddress | String | IP address from which the action was performed. |
| OriginProductionTime | DateTime | Original production time. If omitted, the server uses the current server time. |
| ContactPerson | String | Name of a contact person from the client contact list. When found, address fields are imported from that contact. |
| Agency | Status (Integer) | Branch / agency associated with the refund document. |
| RefundFormPurpose | Enum (Integer) |
Purpose of the refund form. 0 = Retail Refund 1 = Withdrawal from Account 2 = Withdrawal from Loan Account 3 = Property Exchange Service |
| MoneyLaundering | Enum (Integer) |
AML control level definition for the document. 0 = Normal 1 = Report Anyway 2 = DO NOT Report |
| MoneyLaunderingBundle | Integer | AML document bundle number. |
Refund Items Array
These rows must be passed within the [Items] array at the root level.| Field Name (in Items array) | Data Type | Description |
|---|---|---|
| RefundMethod | Enum (Integer) |
Refund / withdrawal method (Mandatory Field). 0 = Cash 1 = Credit Card 2 = Bank Transfer 3 = Return Client Cheque 4 = Cheque 5 = Return Assignment of Rights 6 = Return Security Bill 7 = Bill of Exchange 8 = Traveller Check 9 = E. Wallet |
| PaymentDate | Date | Refund payment date (Mandatory Field). Must be within the last 366 days. |
| TotalAmount | Double | Line refund amount (Mandatory Field). Must be greater than 0.1. |
| Currency | String | Refund currency (Mandatory Field). Must exist in the Hyper currency table and must be fiat currency. |
| ExchangeRate | Double | Exchange rate. If missing or zero, the system completes it from the live feed using ASK rate logic for refunds. |
| MonthlyPayments | Integer | Number of monthly payments. Relevant for credit card refunds. |
| FirstPaymentAmount | Double | First payment amount in a credit card refund plan. |
| NextPaymentsAmount | Double | Subsequent payment amount in a credit card refund plan. |
| AdvancedPaymentSys | Enum (Integer) |
Credit transaction definition. 0 = No 1 = External Credit 2 = +30 Days |
| BankCode | String | Bank code for bank transfers, cheques, and bank-related refund methods. |
| BranchSwift | String | Bank branch or Swift code. |
| Account | String | Target bank account number for the refund / withdrawal. |
| BankTransferPaymentFormat | Enum (Integer) |
Bank transfer format. 0 = unknown (local) 1 = Swift + IBAN 2 = SEPA + IBAN 3 = Swift + BSB 4 = ABA (US) 5 = Swift + CNAPS 6 = Swift Hong Kong 7 = Swift + IBAN + UK sort |
| ChequeCcNumber | String | Cheque number, returned cheque reference, bill reference, or last 4 digits of the credit card. |
| ClearingCompany | String | Clearing company through which the refund transaction is handled. |
| CcEwBrand | String | Credit card or e-wallet brand. |
| ClearingVoucher | String | Official clearing voucher / confirmation number. |
| RegRefundToCountry | String | Country to which the money is refunded / sent for AML and regulation. |
| RegBankName | String | Registered bank name of the recipient account. |
| RegBankAddress | String | Registered bank address of the recipient account. |
| RegAccountOwnerAsContactPerson | String | Recipient / beneficiary as contact person, when the money is not sent directly to the client. |
| FromInternalAccount | Integer | Internal account number from which the money will be withdrawn. If the value is invalid, the system resets it. |
Function output
When it succeeds, the function returns the generated refund header record:// Function output
{
"ResponseCode": 0,
"ResponseMsgEng": "Success",
"Doc": {
"RefundNumber": 23451,
"Agency": 0,
"DrawerStationId": 0,
"SalesAgent": "Dani",
"ClientNumber": 500608,
"ClientFullName": "Example Client Ltd.",
"ContactPerson": "",
"Address": "24 sesame st. Tel aviv",
"Phone": "03-1234567",
"Email": "client@example.com",
"IdNumber": "987654321",
"ClientCountryCode": "IL",
"Language": 1,
"InternationalDocument": 0,
"TotalRefundLc": 1500.00,
"PurchaserCurrency": "ILS",
"TotalRefundInPc": 1500.00,
"OriginProductionTime": "2026-05-25 10:07:41",
"CreatedOnUtc": "2026-05-25 07:07:41",
"ProducedBy": "Dev4_website",
"ElectronicSignedPdf": 3,
"Notes": "Client portal withdrawal request 1234",
"InternalNotes": "WD-998877",
"RefundFormPurpose": 1,
"MoneyLaundering": 0,
"MoneyLaunderingBundle": 0,
"PersonalIdVerificationMadeBy": "Online SelfService",
"IpAddress": "203.0.113.25",
"ResponsibleManager": "",
"OldDocReference": "",
"OldSoftwareName": "",
"CancellationTime": "",
"CancelledBy": "",
"CancellationReason": "",
"AccountBalanceAtProductionTime": 0.00,
"CreditLineUsageRiskLc": 0,
"AuthorizationStatus": 0,
"AuthorizationTextDesc": ""
}
}
// Function output on error, custom text messages to the same codes list
{
"ResponseCode": 14,
"ResponseMsgEng": "Wrong [Refund Method] enum value; Items[0]"
}