Oobit Developers
Search…
⌃K

Getting started

This page includes a dedicated listing of the services assigned for processing payments. If you need your website to perform secured payments, this is the main collection of services you should be usi
Important points to pay attention to: 1. The preferred http method to use is GET. 2. Please do not use localhost urls in your requests, these might be blocked by our WAF 3. In case using languages other then english remember to urlencode any special character included in the request, we recommend using English for all requests as not all acquirers/PSPs knows how to handle languages other than english. 4. Optional fields are "Optional" on a technical level but might be required by different providers, we recommend including as much information as possible with each request that way the chances for a transaction to be approved by the providers will be higher. 5. The "Signature" is the most important part of the request, pay attention to the order of the parameters in the request and in the signature, be sure to url encode the relevant fields, each type of request include an example written in JS to show the creation process of the signature and the request string.
Requests Endpoint: https://uiservices.oobit.com/hosted/default.aspx?

Signature

Integration with some of Oobit payment services requires generating a hashed signature. SHA256 signature is used to validate the integrity of the data, for more information on SHA256 see: http://en.wikipedia.org/wiki/SHA256 Your Personal Hash Key is managed in the Null page under Global Settings.

Instruction

  • Concatenate the required parameters values, the list of required parameters is explained in the signature field on the API of the service you wish to use.
  • Add your Null to the end of the concatenated string.
  • Apply SHA256 hash to the string.
  • Convert the hash result to Base64.
  • URL encode the Base64 result if using GET mode.
  • Now that you have a signature, Include the result as a value of the signature field in the request.
Example with the following values: CompanyNum = 1234567 Amount = 5.4 Currency = 1 RefTransID = 1234 PersonalHashKey = AU7E468HNF CompanyNum + Amount + Currency + RefTransID + PersonalHashKey "1234567" + "5.4" + "1" + "1234" + "AU7E468HNF" Base64(SHA256("1234567115.4145800000000000001234AU7E468HNF")) Result: "PTpzX9OACBC+V3Fd9+TNCehnwIfqMaXmnUtsZMSRyVo="

Code Example

JS

var Siganture = CryptoJS.SHA256(MerchantNumber + TransType + trans_comment + trans_refNum + trans_installments + trans_amount + trans_currency + payFor + client_email + client_fullName + client_phoneNum + client_billAddress1 + client_billAddress2 + client_billCity + client_billZipcode + client_billState + client_billCountry + PLID + disp_lng + ui_version + Brand + url_redirect + notification_url + hashtype + PersonalHashKey);
var Base64Siganture = Siganture.toString(CryptoJS.enc.Base64);
var hash = encodeURIComponent(Base64Siganture);

PHP

$val = base64_encode(hash("sha256", "1234567ABCDEFGHIJ", true));
Signature Generating Form Use the following form to compare the output signature from your code with ours.

Sending Data

The following examples are a basic overview on how to send data over the internet. The code shown is intended to give you the programmer a start point on how to implement the Oobit API

Using a form (HTML)

<form action="https://www.domain.com" method="post" name="formName1" target="fraWindow"
onsubmit="window.open('', this.target, 'scrollbars=1, width=450, height=500, resizable=0, Status=1');">
<input type="hidden" name="Field1" value="Val1">
<input type="hidden" name="Field2" value="Val2">
<input type="hidden" name="Field3" value="Val3">
<input type="submit" value="submit">
</form>

Using a form (PHP)

<?php
//parameters list
$merchantID = "Your merchant id";
//mandatory!
$url_redirect = "Your site's result page";
//optional
$notification_url = "Your new callback url format
//optional
$trans_comment = "";
//optional
$trans_refNum = getToken(12);
//optional
$trans_installments = "1";
//optional
$trans_amount = "99.00";
//mandatory!
$trans_currency = "EUR";
//mandatory!
$disp_payFor = "Purchase";
//optional
$disp_lng = "en-us";
//optional
$disp_mobile = "auto";
//optional
$PersonalHashKey = "Your hash key";
//signature parameters list, the order of the values must be identical to the order in the form below
$retSignature = $merchantID . $url_redirect . $notification_url . $trans_comment . $trans_refNum .
$trans_installments . $trans_amount . $trans_currency .
$disp_payFor . $disp_lng . $disp_mobile . $PersonalHashKey;
$signature = base64_encode(hash("sha256", $retSignature, true));
//mandatory!
//////////////////////////////////
function getToken($length) {
$token = "";
$codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$codeAlphabet.= "abcdefghijklmnopqrstuvwxyz";
$codeAlphabet.= "0123456789";
$max = strlen($codeAlphabet);
// edited
for ($i=0; $i < $length; $i++)
$token .= $codeAlphabet[random_int(0, $max-1)];
return uniqid($token);
}//
?>
<form method="GET" action="https://uiservices.oobit.com/hosted/default.aspx?">
<input type="text" style="width:400px" readonly name="merchantID" value="<?php echo($merchantID); ?>" /> <br>
<input type="text" style="width:400px" readonly name="url_redirect" value="<?php echo($url_redirect); ?>" /> <br>
<input type="text" style="width:400px" readonly name="notification_url" value="<?php echo($notification_url); ?>" /> <br>
<input type="text" style="width:400px" readonly name="trans_comment" value="<?php echo($trans_comment); ?>" /> <br>
<input type="text" style="width:400px" readonly name="trans_refNum" value="<?php echo($trans_refNum); ?>" /> <br>
<input type="text" style="width:400px" readonly name="trans_installments" value="<?php echo($trans_installments); ?>" /> <br>
<input type="text" style="width:400px" readonly name="trans_amount" value="<?php echo($trans_amount); ?>" /> <br>
<input type="text" style="width:400px" readonly name="trans_currency" value="<?php echo($trans_currency); ?>" /> <br>
<input type="text" style="width:400px" readonly name="disp_payFor" value="<?php echo($disp_payFor); ?>" /> <br>
<input type="text" style="width:400px" readonly name="disp_lng" value="<?php echo($disp_lng); ?>" /> <br>
<input type="text" style="width:400px" readonly name="disp_mobile" value="<?php echo($disp_mobile); ?>" /> <br>
<input type="text" style="width:400px" readonly name="signature" value="<?php echo($signature); ?>" /> <br>
<input type="submit" value="Pay Now" style="height: 50px ; width: 170px ; font-size: 20px; background-color: #8dc059; color: #fff;border-radius: 4px; border: 0px; background-image: url(https://https://merchants.oobit.com/Templates/Tmp_Project/images/secure-icon-white.png);background-repeat: no-repeat; background-position: 10px 10px; padding-left: 26px;">
</form>

Request fields

Field
Description
Max Length
Required
merchantID
Your 7 digits merchant number - #######
7
Yes
trans_amount
Amount to be charge (example: 199.95)
20
Yes
trans_currency
ILS = Israel New Shekel
USD = US Dollar EUR = Euro
GBP = UK Pound Sterling
AUD = Australian Dollar
CAD = Canadian Dollar JPY = Japanese Yen NOK = Norwegian Krone PLN = Polski zloty MXN = Mexican Peso ZAR = South African Rand RUB = Russian Ruble TRY = Turkish lira CHF = Swiss franc INR = Indian rupee DKK = Danish krone SEK = Swedish krona CNY = Chinese yuan HUF = Hungarian forint NZD = New Zealand dollar HKD = Hong Kong dollar KRW = South Korean won SGD = Singapore dollar THB = Thai baht BSD = Bahamian Dollar
3
Yes
trans_type
0 = Debit Transaction (Default when field is empty)
1
Yes
trans_installments
Number of installments, 1 for regular transaction
2
Yes
trans_refNum
Unique text used to defer one transaction from another
100
Optional
trans_comment
Optional text used mainly to describe the transaction
255
Optional
disp_payFor
Text shown to buyer in payment window, Usually description of purchase (Cart description, Product name)
40
Optional
disp_lng
The default language for the UI text in the window. If omitted, language is taken from user's browser settings.
Available values are: he-IL = עברית (ישראל) en-US = English (United States) fr-FR = français (France) es-ES = español (España, alfabetización internacional) lt-LT= lietuvių (Lietuva) ru-RU = русский (Россия) de-DE = Deutsch (Deutschland) zh = 中文
5
Optional
disp_lngList
Specifies the language(s) available to user in the Language Selector in the window.
Available values are: all = all languages are available (default if the field is empty or omitted) hide = the language selector is hidden comma-separated list of codes for enabling specific language(s).
For example, disp_lngList=en-us,it-it will allow user to switch between English and Italian, and disp_lngList=en-us will show English only. The available languages are listed in the disp_lng field description.
5
Optional
notification_url
The URL for notifying your system with the transaction result. Must include http:// or https://.
255
Optional
url_redirect
The URL to which the buyer’s browser is redirected to after completing the payment Must include http:// or https://.
255
Optional
PLID
Platform user ID - A unique identifier for the user on the platform
100
Optional
signature
Signature for verifying the authenticity of the request parameters. Field values to use: All parameters in the order they appear in the request, first GET then POST + PersonalHashKey.
more information can be found at the Signature section in this page
30
Yes
var Siganture = CryptoJS.SHA256(MerchantNumber + 0 + trans_comment + trans_refNum + trans_installments + trans_amount + trans_currency + payFor +
client_email + client_fullName + client_phoneNum + client_billAddress1 + client_billAddress2 + client_billCity + client_billZipcode + client_billState +
client_billCountry + PLID + disp_lng + ui_version + Brand + url_redirect + notification_url + hashtype + PersonalHashKey);
var Base64Siganture = Siganture.toString(CryptoJS.enc.Base64);
var hash = encodeURIComponent(Base64Siganture);
var src = "https://uiservices.oobit.com/hosted/default.aspx?merchantId=" + MerchantNumber + "&trans_type=" + 0 + "&trans_comment=" + trans_comment +
"&trans_refNum=" + trans_refNum + "&trans_installments=" + trans_installments + "&trans_amount=" + trans_amount + "&trans_currency=" +
trans_currency + "&disp_payFor=" + payFor + "&client_email=" + client_email + "&client_fullName=" + client_fullName + "&client_phoneNum=" +
encodeURIComponent(client_phoneNum) + "&client_billAddress1=" + client_billAddress1 + "&client_billAddress2=" + client_billAddress2 +
"&client_billCity=" + client_billCity + "&client_billZipcode=" + client_billZipcode + "&client_billState=" + client_billState +
"&client_billCountry=" + client_billCountry + "&PLID=" + PLID + "&disp_lng=" + disp_lng +
"&ui_version=" + ui_version + "&Brand=" + Brand + "&url_redirect=" + encodeURIComponent(url_redirect) +
"¬ification_url=" + encodeURIComponent(notification_url) + "&hashtype=" + hashtype + "&signature=" + hash;

Reply Codes

000 = Authorized transaction 001 = Transaction accepted, waiting authorization xxx = Transaction was not Authorized, see unauthorized comment explanation
- For a more detail list of reply codes