Takbull API

Base URL: https://api.takbull.co.il  |  Postman: postman.com/pawow2/workspace/takbull

🔑 Authentication

Every request must include API_Key and API_Secret in the HTTP headers. Contact Takbull support to obtain sandbox credentials at app.takbull.co.il.

Example cURL
curl --location 'https://api.takbull.co.il/api/ExtranalAPI/GetTakbullPaymentPageRedirectUrl' \ --header 'Content-Type: application/json' \ --header 'API_Secret: 8e2e4556-7d59-4476-833c-471f4bf6a605' \ --header 'API_Key: 5c2a493c-1a92-4222-9a4d-b50340757cf8'

🔄 Redirect / iFrame Flow

Supports: Credit card form · Token · Subscription
Flow
  1. Send order details → receive a unique order ID (uniqId)
  2. Redirect user or open an iFrame at
    https://api.takbull.co.il/PaymentGateway?orderUniqId={uniqId}
  3. On payment submit, customer is redirected to your RedirectAddress
  4. Provide a IPNAddress callback that listens for payment notifications
  5. On IPN receipt, call the Validation API to confirm order/transaction/invoice data
Post-process options
PostProcessMethodBehaviour
0Redirect to RedirectAddress
1Window message event (for iFrame / SPA)
POST

Get Payment Page Redirect URL

https://api.takbull.co.il/api/ExtranalAPI/GetTakbullPaymentPageRedirectUrl
Minimal request body
{
  "order_reference": "A11A234",
  "OrderTotalSum": 150.77,
  "RedirectAddress": "https://someurl.com/processSuccess?ordeid=1da23a"
}
Response
{
  "responseCode": 0,
  "uniqId": "89fd6612-2c4b-4a7b-91a3-dd9bdf0ee26a"
}
Order Parameters
ParameterTypeDescription
order_referenceStringYour system order ID
IPNAddressStringIPN callback URL
DisplayTypeStringiframe or redirect
PostProcessMethodString0=redirect · 1=window message
IsMobileBooleanSet true for mobile redirect
CancelReturnAddressStringURL on order cancel
RedirectAddressStringURL on payment success
CustomerFullNameString
CustomerPhoneNumberString
CustomerObjectSee Customer table below
CityString
CountryString
DealTypeNumber1=Regular · 2=Payments · 4=Recurring · 6=J2/Token · 7=Suspended
PaymentMethodTypeNumber3=Credit card (default) · 21=Bit
RecuringDueDateDateSubscription pay date
RecuringIntervalNumber1=Daily · 2=Weekly · 3=Monthly · 4=Annual · 5=EachMonth
IntervalNumberNumber of intervals (charge every N days/months)
InitialAmountNumberAmount charged on subscription creation
InitialChargeDescroptionStringInvoice label for initial charge
FirstPaymentamountNumberOverride first payment when DealType=2
CreateDocumentBooleanCreate invoice true/false
DocumentTypeNumber80=הצעת מחיר · 81=חשבון עסקה · 82=הודעת חיוב · 100=הזמנה · 200=תעודת משלוח · 300=חשבונית עסקה · 305=חשבונית מס · 320=חשבונית מס קבלה · 330=חשבונית מס זיכוי · 355=חשבונית מס זיכוי והחזר כספים · 400=קבלה · 401=זיכוי קבלה · 405=קבלה תרומה · 406=זיכוי קבלה תרומה
LanguageStringen / he / fr
CurrencyStringUSD / ILS / EUR
NumberOfPaymentsNumberNumber of installments
MinNumberOfPaymentsNumber
MaxNumberOfPaymentsNumber
OrderTotalSumNumberFinal amount to charge
OrderTaxAmountNumber
TaxtableBoolean
DiscountTypeNumber0=None · 1=Fixed · 2=Percentage
DiscountNumber
ProductsArrayRequired for invoice creation — see Products table
ShippingAmountNumber
ShippingAddress1String
ShippingAddress2String
ShippingZipCodeString
ShippingCityString
ShippingCountryString
Customer Object
ParameterType
IdentityNumberString
CustomerFullNameString
EmailString
PhoneNumberString
AddressObject — see Address table
Address Object
ParameterType
Address1String
Address2String
CityString
CountryString
ZipString
Product Object
ParameterTypeDescription
SKUString
ProductNameString
DescriptionString
PriceNumbere.g. 15.90
TaxAmountNumbere.g. 17.0
CurrencyCodeString
DiscountNumber
DiscountTypeNumber0=None · 1=Fixed · 2=Percentage
OpenSumBoolean
QuantityNumber
MinQuantityNumber
MaxQuantityNumber
QuantityIntervalNumber
Response Fields
FieldTypeDescription
responseCodeNumber0 = Success, otherwise fail
uniqIdGUIDUse for the payment gateway redirect
descriptionStringError description if failed
Next step — open payment gateway
GET   https://api.takbull.co.il/PaymentGateway?orderUniqId={uniqId}
Success redirect URL example
http://yourdomain.com?order_reference=613&ordernumber=12741 &uniqId=6e1a79fd-deb9-4281-ad1d-0f10fcb2d4ac &invoiceUniqId=e2252943-295f-4a64-bcc0-b9fe7a76d17a &statusCode=0 &token=RUF2VWpISFFjVDRROG9rcERQaUJwdz09 &Last4Digits=0000&TokenExpirationMonth=04&TokenExpirationYear=25

statusCode=0 means success. On failure, statusDescription contains the reason.

Bit Payment process (PaymentMethodType=21)

To charge with Bit, send PaymentMethodType=21 in the create-order request.

  1. Detect whether the customer is browsing from a mobile device. If so, send IsMobile=true in the request. This tells the gateway to return a deep link that can open the Bit application directly.
  2. In the response you will receive a url parameter. This is the link that opens the Bit application.
  3. Navigate the customer to that URL — for example window.open(url) (or set window.location.href = url) — so the Bit app is launched to complete the payment.
FieldTypeDescription
IsMobileBooleanRequest field. Set true when the client accesses from a mobile device
urlStringResponse field. URL to open the Bit application — navigate to it via window.open(url)
Bit redirect JS example
// Detect mobile client var isMobile = /Android|iPhone|iPad|iPod|Opera Mini|IEMobile|Mobile/i.test(navigator.userAgent); // Include IsMobile in the create-order request payload payload.IsMobile = isMobile; // After receiving the create-order response, open the Bit application if (response.url) { window.open(response.url); // or: window.location.href = response.url; }
Window message event payload (PostProcessMethod=1) for iframe
FieldTypeDescription
InternalCodeNumber0=Success
InternalDescriptionStringError description
transactionInternalIdStringe.g. 000125685
uniqIdStringOrder unique ID in Takbull
Listening for the iframe message JS Example(PostProcessMethod=1)

On init you receive a message from the iframe containing the height of the iframe so you can adjust the iframe height accordingly.

// var pmpro_require_billing; var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; var eventer = window[eventMethod]; var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message"; // Listen for a message from the iframe. eventer(messageEvent, function (e) { if (isNaN(parseInt(e.data))) { form = jQuery('#add_payment_method'); console.log(e.data + ' msg: ' + e.message); switch (event.data.message) { case 'paymentreplay': let resp = event.data.value if (resp && !isNaN(resp.InternalCode)) { if (resp.InternalCode != 0) { alert(resp.InternalDescription); } else { form.append('<input type="hidden" name="payment_intent_id" value="' + resp.transactionInternalId + '" />'); form.append('<input type="hidden" name="setup_intent_id" value="' + resp.transactionInternalId + '" />'); form.append('<input type="hidden" name="uniqId" value="' + resp.uniqId + '" />'); form.append('<input type="hidden" name="takbull_token" value="' + resp.CreditCard.CardExternalToken + '" />'); form.append('<input type="hidden" name="last4Digits" value="' + resp.CreditCard.Last4Digits + '"/>'); form.append('<input type="hidden" name="ExpirationMonth" value="' + ('0' + resp.CreditCard.CardTokenExpirationMonth).slice(-2) + '"/>'); form.append('<input type="hidden" name="ExpirationYear" value="' + resp.CreditCard.CardTokenExpirationYear + '"/>'); form.get(0).submit(); } } } return; } document.getElementById('wc_takbull_iframe').style.height = e.data + 50 + 'px'; }, false);
GET

Get Transaction

https://api.takbull.co.il/api/ExtranalAPI/GetTransaction?transactionInternalNumber={number}
Response
{
  "id": 3067,
  "transactionId": "000000164",
  "tranProviderId": "82965",
  "amount": 210.10,
  "transactionType": 10,
  "currency": "ILS",
  "paymentMethod": 3,
  "numberOfPayments": 1,
  "cardToken": "xxxxxxxxxxx",
  "cardTokenExpirationMonth": 3,
  "cardTokenExpirationYear": 25,
  "last4DigitsCardNumber": "0000",
  "dealType": 1,
  "clearer": "LMI",
  "cardCompanyTtype": "CAL",
  "cardtype": "VI",
  "status": 1,
  "statusCode": 0,
  "transactionDate": "2023-05-20T23:42:25.9201733",
  "customerFullName": "test",
  "isDocumentCreated": true,
  "invoiceId": 4158,
  "invoiceUniqId": "6fcab03f-39de-45df-9fed-80784e1ab9fd",
  "documentNumber": 40101
}
Enum field values

Several response fields are returned as numeric codes. Use the tables below to interpret them.

transactionType
ValueDescription
10Charge (חיוב)
20Refund (זיכוי)
30Charge Back / cancellation (ביטול עסקה)
60Token / J2
70Suspended (מושהה)
paymentMethod
ValueDescription
1Cash (מזומן)
3Credit Card (כרטיס אשראי)
11PayPal
21Bit
32Apple Pay
33Google Pay
dealType
ValueDescription
1Regular (רגיל)
2Payments / installments (תשלומים)
4Recurring / standing order (הוראת קבע)
6Token / J2
7Suspended charge (חיוב מושהה)
status
ValueDescription
1Approved
2Declined
3PARTIALLY_REFUNDED
4PENDING
5REFUNDED
6FAILED
statusCode=0 indicates a successful transaction. Any other value indicates an error.
POST

Order Validation

https://api.takbull.co.il/api/ExtranalAPI/ValidateNotification

Double-check order status after IPN receipt.

Request body
{ "uniqId": "89fd6612-2c4b-4a7b-91a3-dd9bdf0ee26a" }
Response
{
  "orderId": 0,
  "internalCode": 1400101,
  "internalDescription": "INVALID",
  "providerCode": 0,
  "doNotRetry": false,
  "isSubscriptionPayment": false,
  "saveToken": false,
  "documentId": 0,
  "amount": 0.0,
  "dealType": 0,
  "orderStatus": 0,
  "tranSactionStatus": 0
}
GET

IPN — Instant Payment Notification

Takbull calls your IPNAddress to guarantee delivery of payment results even when redirects fail.

Example IPN callback
https://yourdomain.com?uniqId=00a3f733-8af1-479b-92bc-242f3add650f &order_reference=91743 &statusCode=0 &statusDescription= &takbullAction= &transactionInternalNumber=000001003
On receiving the IPN, call ValidateNotification with the uniqId to confirm payment details.
POST

Charge Token

https://api.takbull.co.il/api/ExtranalAPI/ChargeToken

Charge a saved card token without showing the payment form.

Request body
{
  "order_reference": 219,
  "IPNAddress": "https://yourdomain.com/ipn",
  "RedirectAddress": "https://yourdomain.com/thank-you",
  "CancelReturnAddress": "https://yourdomain.com/cart",
  "Products": [
    {
      "SKU": "22",
      "Description": "Polo",
      "Price": "20.00",
      "Quantity": 1,
      "TaxAmount": "0.00",
      "IsTaxteble": false,
      "Discount": "0.00"
    }
  ],
  "Currency": "USD",
  "CustomerFullName": "John Smith",
  "Customer": {
    "CustomerFullName": "John Smith",
    "Email": "john@example.com",
    "PhoneNumber": "1234567890",
    "Address": { "Address1": "123 Main St", "City": "New York", "Country": "US", "Zip": "10001" }
  },
  "OrderTotalSum": "74.00",
  "Language": "en",
  "CreateDocument": true,
  "MaxNumberOfPayments": 1,
  "CreditCard": {
    "CardExternalToken": "828e8373-76f0-4bad-b397-abcdd08a226a"
  }
}
Response
{
  "orderId": 0,
  "internalCode": 0,
  "internalDescription": "OK",
  "providerCode": 0,
  "doNotRetry": false,
  "orderStatus": 0,
  "tranSactionStatus": 0
}
POST

Invoice Creation

https://api.takbull.co.il/api/DocumentApi/Create
Invoice Parameters
ParameterTypeDescription
invoiceItemsArrayInvoice line items — see table below
customerVMObjectCustomer details
sendToCustomerBooleanSend invoice to customer email
totalTaxAmountNumber
taxtableBoolean
totalTaxFreeNumber
totalPriceWithTaxNumber
isItemIncludeTaxBoolean
currencyString
languageString
discountNumber
discountTypeNumber0=None · 1=Fixed · 2=Percentage
commentsString
documentTypeNumber320=חשבונית מס קבלה · 305=חשבונית מס · 300=חשבונית עסקה · 400=קבלה · 405=קבלה תרומה
isNegativeDocumentBooleanSet true for refund/credit note
totalSumPaidInCashNumber
totalSumPaidInCheckNumber
totalSumPaidInCreditcardNumber
totalSumPaidInWIreTransferNumber
cashesArray[{ description, amount }]
checksArray[{ checkNumber, checkDueDate, amount, bankNumber, bankBranch, accountNumber }]
wireTransfersArray[{ amount, bankNumber, bankBranch, accountNumber }]
customPaymentsArray[{ methodName, amount }]
Invoice Item Object
ParameterTypeDescription
DescriptionString
IsTaxtebleBoolean
UnitPriceNumbere.g. 15.90
TaxAmountNumbere.g. 17.0
CurrencyCodeString
DiscountNumber
DiscountTypeNumber0=None · 1=Fixed · 2=Percentage
QuantityNumber
Custom Payment Object
ParameterTypeRequiredDescription
methodNameStringNoPayment method display name
amountNumberYesPayment amount
creationDateDateTimeOffsetYesPayment creation date
currancyStringNoCurrency code
payerAccountNumberStringNoPayer account number
referanceIdStringNoExternal reference identifier
Request body example
{
  "invoiceItems": [
    {
      "rowId": 1,
      "description": "some product description",
      "isTaxteble": true,
      "unitPrice": 1000,
      "totalPrice": 1000,
      "quantity": 1
    }
  ],
  "customerVM": {
    "customerFullName": "Muhammad Waqas",
    "address": { "address1": "street 16", "city": "TLV", "country": "ISRAEL" }
  },
  "sendToCustomer": false,
  "documentDate": "Tue May 23 2023",
  "totalTaxAmount": 170,
  "taxtable": true,
  "totalTaxFree": 1000,
  "totalPriceWithTax": 1170,
  "isItemIncludeTax": true,
  "currency": "ILS",
  "language": "he",
  "documentType": 320,
  "totalSumPaidInCash": 500,
  "totalSumPaidInCheck": 670,
  "cashes": [{ "description": "מזומן", "amount": 500 }],
  "checks": [{ "checkDueDate": "Tue May 23 2023", "amount": 670 }],
  "wireTransfers": [],
  "customPayments": []
}
Response
{
  "responseCode": 0,
  "documentNumber": 45325,
  "isOk": true,
  "errorList": [],
  "documentVM": {
    "id": 287727,
    "documentNumber": 45325,
    "documentType": 320,
    "totalPriceWithTax": 1170.0,
    "currency": "ILS",
    "uniqId": "3ab63741-fe90-49b7-9934-50105676b0cd"
  }
}
GET

Cancel Subscription

https://api.takbull.co.il/api/ExtranalAPI/CancelSubscription?uniqId={uniqId}

Cancels a recurring payment subscription. The uniqId is the original order ID from the Get Redirect URL call.

POST

Refund / Cancel Transaction

https://api.takbull.co.il/api/ExtranalAPI/Refund
Parameters
ParameterTypeDescription
RefundTypeNumber1=Cancel deal only · 2=Cancel with document · 3=Partial refund · 4=Partial refund with document
RefundAmountNumberRequired for partial refund (e.g. 115.5)
TransactionInternalNumberStringe.g. 000125685
CommentsStringOptional reason
Request body
{
  "RefundType": 2,
  "RefundAmount": null,
  "TransactionInternalNumber": "00012547",
  "Comments": "No inventory"
}
Response
{
  "orderId": 0,
  "internalCode": 0,
  "internalDescription": "OK",
  "providerCode": 0,
  "documentId": 0
}
POST

Create Account

https://api.takbull.co.il/api/Account/CreateAccount

Creates a child merchant account under the authenticated parent merchant (affiliate program). The parent merchant is always resolved from the API key — never from the request body.

Request body example
{
  "Email": "child@example.com",
  "Password": "SecurePass123!",
  "FirstName": "John",
  "LastName": "Doe",
  "Phone": "0501234567",
  "PackageUniqId": "pkg_basic_001",
  "SubscriptionPayer": "Parent",
  "MerchantDetails": {
    "Name": "Child Business Ltd.",
    "BusinessNumber": "123456789",
    "BusinessType": 1,
    "BizRegiEmail": "child@example.com",
    "Address1": "רחוב הרצל 1",
    "City": "תל אביב",
    "Country": "Israel",
    "countryCode": 972,
    "Zip": "6120101",
    "PhoneNumber1": "0501234567",
    "WebSiteUrl": "https://childbusiness.com",
    "Mcc": 5999
  }
}
Request Fields
FieldTypeRequiredDescription
EmailStringLogin email for the child account. Must be unique.
PasswordStringInitial login password for the child account.
FirstNameStringFirst name of the account owner.
LastNameStringLast name of the account owner.
PhoneStringMobile phone number of the account owner.
PackageUniqIdStringUnique ID of the module package to assign. If omitted, the free package is assigned automatically.
SubscriptionPayerStringWho pays for the subscription: Parent or Child. Defaults to Child.
MerchantDetailsObjectAdditional merchant profile (business name, address, provider credentials, etc.).
SubscriptionPayer values
ValueBehavior
ParentThe authenticated parent merchant is charged immediately. Child account is activated on successful payment.
ChildChild account is created with PendingPayment status. A PaymentRedirectUrl is returned for the child to complete payment.
Response
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorMessage": "Child account created successfully.",
  "UserId": 1042,
  "MerchantId": "MID_abc123",
  "Email": "child@example.com",
  "ParentMerchantId": "MID_parent456",
  "AffiliationId": 7,
  "SubscriptionPayer": "Parent",
  "PaymentRedirectUrl": null,
  "OrderUniqId": null,
  "ApiKey": "5c2a493c-1a92-4222-9a4d-b50340757cf8",
  "ApiSecret": "8e2e4556-7d59-4476-833c-471f4bf6a605"
}
Response Fields
FieldTypeDescription
SuccessBooleantrue when the operation completed without a blocking error.
ErrorCodeNumberNumeric result code. 0 on full success. See the Error Codes table below.
ErrorMessageStringHuman-readable result/error description.
UserIdNumberInternal user ID of the newly created account owner.
MerchantIdStringMID of the newly created child merchant.
EmailStringEmail address of the newly created account.
ParentMerchantIdStringMID of the authenticated parent merchant.
AffiliationIdNumberID of the affiliation record linking parent and child. Nullable.
SubscriptionPayerStringWho is responsible for paying the subscription fee. Nullable.
PaymentRedirectUrlStringURL to redirect the merchant to complete payment. Only set when ErrorCode == 600113 (payment required).
OrderUniqIdStringUnique ID of the pending payment order. Used alongside PaymentRedirectUrl.
ApiKeyStringAPI key issued for the newly created child terminal. Returned when an API/provider module is assigned.
ApiSecretStringAPI secret issued for the newly created child terminal. Returned when an API/provider module is assigned.
Error Codes
ErrorCodeDescription
0Success. Child account created.
1Success. Child account created with the free package.
600104Could not resolve the authenticated merchant identity from the API credentials.
600105Request data is required (body is null).
600106Email is required.
600107Password is required.
600108Parent merchant not found.
600109Failed to create user account.
600110User was not created successfully.
600111Failed to register provider for the child merchant.
600113Payment is required to activate the child account. See PaymentRedirectUrl.
600114Validation error while creating the child account.
600115An unexpected internal error occurred.
Example cURL
curl --location 'https://api.takbull.co.il/api/Account/CreateAccount' \ --header 'Content-Type: application/json' \ --header 'API_Secret: 8e2e4556-7d59-4476-833c-471f4bf6a605' \ --header 'API_Key: 5c2a493c-1a92-4222-9a4d-b50340757cf8' \ --data '{ "Email": "child@example.com", "Password": "SecurePass123!" }'
GET

Get Order

https://api.takbull.co.il/api/ExtranalAPI/GetOrder?orderUniqId={orderUniqId}

Retrieves a single order by its unique identifier. The response includes full order details: customer info, payment sums, products, transactions, invoices, and shipping.

Query Parameters
ParameterTypeRequiredDescription
orderUniqIdstringUnique identifier of the order.
Response
{
      "uniqId": "ord_abc123",
      "orderStatus": 2,
      "dealType": 1,
      "createDate": "2024-01-15T10:30:00",
      "language": "he",
      "orderTotalSum": 250.00,
      "currency": "ILS",
      "taxAmount": 39.57,
      "taxtable": true,
      "discount": 0,
      "discountType": 0,
      "paymentMethodType": 1,
      "numberOfPayments": 1,
      "paymentsCharged": 1,
      "firstPaymentamount": 250.00,
      "folowedPaymentamount": 0,
      "customerFullName": "John Doe",
      "customerFirstName": "John",
      "customerLastName": "Doe",
      "customerEmail": "john@example.com",
      "customerPhoneNumber": "0501234567",
      "city": "Tel Aviv",
      "country": "Israel",
      "order_reference": "EXT-REF-001",
      "IPNAddress": "https://yoursite.com/ipn",
      "comments": "Gift wrap please",
      "shippingAmount": 20.00,
      "shippingAddress1": "Herzl St 1",
      "shippingCity": "Tel Aviv",
      "shippingCountry": "Israel",
      "products": [
        { "name": "Widget", "quantity": 2, "price": 115.00, "currency": "ILS" }
      ],
      "transactions": [
        { "transactionId": "txn_xyz", "amount": 250.00, "status": 1 }
      ],
      "invoices": [],
      "customer": {
        "firstName": "John",
        "lastName": "Doe",
        "email": "john@example.com",
        "phoneNumber": "0501234567",
        "externalCustomerId": "cust_001"
      }
    }
orderStatus
ValueDescription
0Pending (מוכן)
1Failed (נכשל)
2Processing (בעיבוד)
3Completed (הושלם)
4OnHold (ממתין)
5Cancelled (בוטל)
6Refunded (בוצע זיכוי)
7Removed
8ReSubmit (חיוב חוזר)
9Abandoned (ננטש)
dealType
ValueDescription
1Regular (רגיל)
2Payments / installments (תשלומים)
4Recurring / standing order (הוראת קבע)
6Token / J2
Example cURL
curl --location 'https://api.takbull.co.il/api/ExtranalAPI/GetOrder?orderUniqId=ord_abc123' \ --header 'API_Secret: 8e2e4556-7d59-4476-833c-471f4bf6a605' \ --header 'API_Key: 5c2a493c-1a92-4222-9a4d-b50340757cf8'