Payment Link with REST API
LinkByClick allows you to create payment links that can be sent to customers via email or SMS. When the customer clicks the link, they are directed to a secure payment page to complete the transaction.
With LinkByClick you can:
| Action | Endpoint |
|---|---|
| Create Link | POST https://gateway21.pelecard.biz/PaymentEnquiry/CreateLink |
| Cancel Link | POST https://gateway21.pelecard.biz/PaymentEnquiry/CancelLink |
POST https://gateway21.pelecard.biz/PaymentEnquiry/CreateLink
{
"Terminal": "YOUR_TERMINAL",
"User": "YOUR_API_USERNAME",
"Password": "YOUR_API_PASSWORD",
"RepUser": "YOUR_REPORT_USERNAME",
"RepPassword": "YOUR_REPORT_PASSWORD",
"bussiness_name": "Your Business Name",
"GoodURL": "https://yourdomain.com/payment/success",
"ErrorURL": "https://yourdomain.com/payment/error",
"FeedbackDataTransferMethod": "POST",
"ServerSideGoodFeedbackURL": "https://yourdomain.com/api/webhook",
"ServerSideErrorFeedbackURL": "https://yourdomain.com/api/webhook-error",
"ServerSideFeedbackContentType": "application/json",
"Currency": "1",
"Total": "10000",
"Language": "he",
"EmailList": "customer@example.com",
"ActionType": "J4",
"CreateToken": "False",
"CustomerIdField": "optional",
"Cvv2Field": "must",
"MaxPayments": "1",
"MinPayments": "1",
"CardHolderName": "optional",
"EmailField": "optional",
"TelField": "optional"
}
{
"StatusCode": "0",
"ErrorMessage": "",
"ResultData": "https://gateway20.pelecard.biz/PaymentEnquiry?peGUID=16fef303-2a05-4bf6-955e-cd679890f34c"
}
| Parameter | Type | Required | Description |
|---|---|---|---|
Terminal |
string | Yes | Your Pelecard terminal number |
User |
string | Yes | Username for the payment terminal |
Password |
string | Yes | Password for the payment terminal |
RepUser |
string | Yes | Username for Reports login |
RepPassword |
string | Yes | Password for Reports login |
| Parameter | Type | Required | Description |
|---|---|---|---|
Total |
string | Yes | Amount in agorot (10000 = ₪100.00) |
Currency |
string | Yes | Currency code: 1 = ILS, 2 = USD, 978 = EUR |
ActionType |
string | No | J4 = Regular charge (default), J2 = Token creation, J5 = Pre-authorization |
FreeTotal |
string | No | True = Customer can edit amount, False = Fixed amount (default) |
CreateToken |
string | No | True = Create token for future charges, False = No token (default) |
| Parameter | Type | Required | Description |
|---|---|---|---|
MaxPayments |
string | No | Maximum number of installments (default: 12) |
MinPayments |
string | No | Minimum number of installments (default: 1) |
MinPaymentsForCredit |
string | No | Minimum installments to qualify as credit transaction |
FirstPayment |
string | No | First payment amount (if different from regular installments) |
| Parameter | Type | Required | Description |
|---|---|---|---|
GoodURL |
string | Yes | Redirect URL after successful payment |
ErrorURL |
string | Yes | Redirect URL after failed payment |
ServerSideGoodFeedbackURL |
string | No | Server-to-server webhook for successful transactions. Note: Whitelist IP 31.168.172.190 |
ServerSideErrorFeedbackURL |
string | No | Server-to-server webhook for failed transactions. Note: Whitelist IP 31.168.172.190 |
ServerSideFeedbackContentType |
string | No | Default: application/x-www-form-urlencoded. Set to application/json for JSON body |
FeedbackDataTransferMethod |
string | No | GET or POST – How parameters are sent to landing page |
resultDataKeyName |
string | No | Custom key name for POST data in server-side feedback |
Field values: hide = Not displayed, optional = Displayed but not required, must = Required, or provide a value to pre-fill the field.
| Parameter | Type | Description |
|---|---|---|
CustomerIdField |
string | Customer ID / Passport number field |
Cvv2Field |
string | CVV field |
CardHolderName |
string | Cardholder name field |
EmailField |
string | Customer email field |
TelField |
string | Customer phone field. If SMS link is enabled, provide phone number as value |
CustomerAddressField |
string | Street address field |
CustomerCityField |
string | City field |
CustomerIndexField |
string | Postal code field |
CustomerCountryField |
string | Country field |
Remarks |
string | Remarks field for transaction notes |
| Parameter | Type | Description |
|---|---|---|
EmailList |
string | Email addresses to send the link (semicolon-separated, up to 10) |
SmsLink |
string | true = Send link via SMS (requires TelField with phone number) |
NotificationGoodMail |
string | Merchant email for successful transaction notifications |
NotificationErrorMail |
string | Merchant email for failed transaction notifications |
| Parameter | Type | Description |
|---|---|---|
LinkStartDate |
string | When link becomes active. Format: dd/mm/yyyy hh:mm. Default: immediately |
LinkEndDate |
string | When link expires. Format: dd/mm/yyyy hh:mm. Default: never (manual cancellation) |
LinkUsageLimit |
string | Maximum number of times the link can be used. 0 = unlimited |
LinkUsageCounter |
string | Current usage count (read-only in response) |
LimitActivityName |
string | Activity/campaign name for tracking |
| Parameter | Type | Description |
|---|---|---|
bussiness_name |
string | Business name displayed on payment page |
Language |
string | HE = Hebrew, EN = English, RU = Russian |
LogoURL |
string | URL to your logo image (must be whitelisted by Pelecard support) |
CssURL |
string | URL to custom CSS file (must be whitelisted by Pelecard support) |
AccessibilityMode |
string | True = Enable accessibility mode |
| Parameter | Type | Description |
|---|---|---|
SapakNo |
string | Supplier number for Rav-Mutav terminals only |
ReadOnlyFields |
object | Set fields as read-only. Example: {"TelField": "true"} |
| Parameter | Description |
|---|---|
StatusCode |
0 = Success, other values indicate error |
ErrorMessage |
Error description (empty on success) |
ResultData |
The payment link URL to send to customer |
Cancel an active payment link using its unique identifier.
POST https://gateway21.pelecard.biz/PaymentEnquiry/CancelLink
| Parameter | Type | Required | Description |
|---|---|---|---|
Terminal |
string | Yes | Your terminal number |
User |
string | Yes | Username |
Password |
string | Yes | Password |
peGUID |
string | Yes | Unique identifier of the link (from the link URL) |
{
"Terminal": "YOUR_TERMINAL",
"User": "YOUR_USERNAME",
"Password": "YOUR_PASSWORD",
"peGUID": "a399594b-fe01-410d-bbda-9d08b7c36b9a"
}
// Success
{
"StatusCode": "0",
"ErrorMessage": "Success"
}
// Link not found or already used
{
"StatusCode": "1",
"ErrorMessage": "Link not found or already cancelled"
}
To send the payment link via SMS, include these parameters:
{
"SmsLink": "true",
"TelField": "0541234567"
}
The link will be automatically sent to the specified phone number.
Note: Since
TelFieldcontains a value, the phone field will be displayed on the payment page. To make it read-only:"ReadOnlyFields": { "TelField": "true" }
When using ServerSideGoodFeedbackURL or ServerSideErrorFeedbackURL, Pelecard sends a POST request with transaction details.
Important:
31.168.172.190 in your firewallData Format:
resultDataKeyName is defined: Data sent as form field with that key nameresultDataKeyName is not defined: Data sent as JSON bodyServerSideFeedbackContentType to application/json for JSON content-type headerAutomatically generate invoices when customers complete payments through LinkByClick.
Overview: For general information about Payper integration options, see the Payper Integration Overview.
To enable automatic invoice generation, add the PayperParameters object to your CreateLink request. The invoice will be created automatically after a successful payment.
{
"Terminal": "YOUR_TERMINAL",
"User": "YOUR_USERNAME",
"Password": "YOUR_PASSWORD",
"RepUser": "YOUR_REPORT_USERNAME",
"RepPassword": "YOUR_REPORT_PASSWORD",
"bussiness_name": "Your Business Name",
"GoodURL": "https://yourdomain.com/payment/success",
"ErrorURL": "https://yourdomain.com/payment/error",
"ServerSideGoodFeedbackURL": "https://yourdomain.com/api/webhook",
"Currency": "1",
"Total": "15000",
"ActionType": "J4",
"Language": "he",
"EmailList": "customer@example.com",
"CustomerIdField": "optional",
"Cvv2Field": "must",
"MaxPayments": "1",
"PayperParameters": {
"typeDocument": "Invoice-Receipt",
"DataPayper": {
"document_lang": "he",
"customer_mail": "customer@example.com",
"customer_name": "ישראל ישראלי",
"customer_unique_id": "123456789",
"customer_mobile": "0541234567",
"customer_address": "רחוב הרצל 1, תל אביב",
"document_subject": "תשלום עבור שירותים",
"document_remarks": "תודה על בחירתכם בשירותינו",
"send_by_mail": "true",
"invoice_lines": [
{
"description": "שירות חודשי",
"quantity": "1",
"price_per_unit": "15000",
"include_vat": "true"
}
]
}
}
}
Important: The
Totalamount must match the sum ofinvoice_lines. Both values are in agorot (100 = ₪1.00).
| Parameter | Type | Required | Description |
|---|---|---|---|
typeDocument |
string | Yes | Document type to generate (see table below) |
DataPayper |
object | Yes | Customer and invoice data |
| Code | typeDocument Value | When to Use |
|---|---|---|
| 300 | invoice |
Simple invoice, no payment confirmation |
| 305 | tax-invoice |
B2B invoice with VAT |
| 320 | Invoice-Receipt |
Combined invoice and receipt (most common) |
| 330 | credit-invoice |
Refund/credit note |
| 332 | proforma-invoice |
Quote/estimate |
| 340 | reservation-invoice |
Hotel/event booking |
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_mail |
string | Conditional | Customer email. Required if customer_unique_id not provided |
customer_unique_id |
string | Conditional | Customer ID / Business Number. Required if customer_mail not provided |
customer_name |
string | No | Customer full name |
customer_mobile |
string | No | Customer mobile phone |
customer_business_phone |
string | No | Customer business phone |
customer_address |
string | No | Customer address |
| Parameter | Type | Required | Description |
|---|---|---|---|
document_lang |
string | No | he = Hebrew (default), en = English |
document_subject |
string | No | Document subject/title |
document_remarks |
string | No | Notes or comments |
document_payment_due_date |
string | No | Due date. Format: DD-MM-YYYY. For Invoice, Proforma only |
send_by_mail |
string | No | true = Send document to customer email |
document_rounded |
string | No | true = Round prices. Default: false |
document_no_vat |
string | No | true = Document without VAT. Default: false |
extra_recipients |
string | No | Additional emails (comma-separated). Only when send_by_mail is true |
developer_email |
string | No | Email for API error notifications |
income_id |
string | No | Revenue type ID from Payper settings |
reference_document_id |
string | No | Reference to another document’s document_system_id |
Array of line items for the invoice:
| Parameter | Type | Required | Description |
|---|---|---|---|
description |
string | Yes | Item description |
quantity |
string | Yes | Quantity |
price_per_unit |
string | Yes | Price in agorot (10000 = ₪100.00) |
include_vat |
string | Yes | true = Price includes VAT, false = VAT will be added |
catalog_id |
string | No | Product catalog ID from Payper |
No_vat |
string | No | true = This item has no VAT |
"invoice_lines": [
{
"description": "מוצר א",
"quantity": "2",
"price_per_unit": "5000",
"include_vat": "true"
},
{
"description": "מוצר ב",
"quantity": "1",
"price_per_unit": "5000",
"include_vat": "true"
}
]
After successful payment, the response includes invoice information:
{
"StatusCode": "000",
"ErrorMessage": "operation success",
"PayperData": {
"InvoiceStatus": "Success",
"InvoiceLink": "https://app.payper.co.il/public/invoice_show/1421763?ak=...",
"InvoiceNumber": "1234",
"RawResponse": "{\"result\":200,\"description\":\"Success\",...}"
}
}
| Code | Description |
|---|---|
| 110 | Unauthorized credentials |
| 111 | Unknown IP address |
| 130 | Customer details missing |
| 140 | Document type invalid or missing |
| 142 | Invoice lines invalid or missing |
| 143 | Invoice lines incomplete (missing description or price) |
| 146 | Invoice creation error (total mismatch) |
| 147 | Duplicate document detected |
Error 146 Troubleshooting: This occurs when invoice total doesn’t match payment total. Check that:
- Sum of
invoice_linesequals theTotalparameter- VAT settings are correct (
include_vatparameter)For complete error codes, see Payper API Error Codes.
Use the Pelecard sandbox to test your integration: