- https://secure.verotel.com
- https://secure.billing.creditcard
- https://secure.gaycharge.com
- https://secure.yoursafedirect.com
GET https://secure.verotel.com/startorder
?version=4
&shopID=12345
&type=purchase
&priceAmount=9.99
&priceCurrency=USD
&description=Test purchase
&paymentMethod=CC
&referenceID=order-1001
&custom1=xxyyzz
&custom2=custom-2
&custom3=custom-3
&successURL=https://example.com/success
&declineURL=https://example.com/declined
&oneClickToken=one-click-token
&email=buyer@example.com
&signature=abcdef0123456789abcdef0123456789abcdef01const url = new URL("https://secure.verotel.com/startorder");
url.searchParams.set("version", "4");
url.searchParams.set("shopID", "12345");
url.searchParams.set("type", "purchase");
url.searchParams.set("priceAmount", "9.99");
url.searchParams.set("priceCurrency", "USD");
url.searchParams.set("description", "Test purchase");
url.searchParams.set("paymentMethod", "CC");
url.searchParams.set("referenceID", "order-1001");
url.searchParams.set("custom1", "xxyyzz");
url.searchParams.set("custom2", "custom-2");
url.searchParams.set("custom3", "custom-3");
url.searchParams.set("successURL", "https://example.com/success");
url.searchParams.set("declineURL", "https://example.com/declined");
url.searchParams.set("oneClickToken", "one-click-token");
url.searchParams.set("email", "buyer@example.com");
url.searchParams.set("signature", "abcdef0123456789abcdef0123456789abcdef01");
const response = await fetch(url);from urllib.parse import urlencode
from urllib.request import urlopen
params = {
"version": "4",
"shopID": "12345",
"type": "purchase",
"priceAmount": "9.99",
"priceCurrency": "USD",
"description": "Test purchase",
"paymentMethod": "CC",
"referenceID": "order-1001",
"custom1": "xxyyzz",
"custom2": "custom-2",
"custom3": "custom-3",
"successURL": "https://example.com/success",
"declineURL": "https://example.com/declined",
"oneClickToken": "one-click-token",
"email": "buyer@example.com",
"signature": "abcdef0123456789abcdef0123456789abcdef01",
}
url = "https://secure.verotel.com/startorder?" + urlencode(params)
response = urlopen(url)// GET https://secure.verotel.com/startorder
$params = [
"version" => "4",
"shopID" => "12345",
"type" => "purchase",
"priceAmount" => "9.99",
"priceCurrency" => "USD",
"description" => "Test purchase",
"paymentMethod" => "CC",
"referenceID" => "order-1001",
"custom1" => "xxyyzz",
"custom2" => "custom-2",
"custom3" => "custom-3",
"successURL" => "https://example.com/success",
"declineURL" => "https://example.com/declined",
"oneClickToken" => "one-click-token",
"email" => "buyer@example.com",
"signature" => "abcdef0123456789abcdef0123456789abcdef01",
];// GET https://secure.verotel.com/startorder
Map<String, String> params = Map.ofEntries(
Map.entry("version", "4"),
Map.entry("shopID", "12345"),
Map.entry("type", "purchase"),
Map.entry("priceAmount", "9.99"),
Map.entry("priceCurrency", "USD"),
Map.entry("description", "Test purchase"),
Map.entry("paymentMethod", "CC"),
Map.entry("referenceID", "order-1001"),
Map.entry("custom1", "xxyyzz"),
Map.entry("custom2", "custom-2"),
Map.entry("custom3", "custom-3"),
Map.entry("successURL", "https://example.com/success"),
Map.entry("declineURL", "https://example.com/declined"),
Map.entry("oneClickToken", "one-click-token"),
Map.entry("email", "buyer@example.com"),
Map.entry("signature", "abcdef0123456789abcdef0123456789abcdef01")
);/startorderQuery parameters
versionnumberrequiredversion version of the FlexPay call, 4 for this version
shopIDnumberrequirednumerical ID of the website in the Verotel system
typestringrequiredpurchase
priceAmountnumberrequiredpriceAmount amount to be processed in nnn.nn format
priceCurrencystringrequired- priceCurrency 3 char ISO code, must be one of the Sale currencies (
USDEURGBPAUDCADCHFDKKNOKSEK) - NOTE: only
EURis can be used forDDEUpayment method system
descriptionstringrequireddescription of the product. Text is displayed on the order page - max 100 printable characters
paymentMethodstring- payment method,
CC,YOURSAFE_DIRECTor,DDEU(if not set then buyers can choose from available payment methods) - NOTE:
DDEUis available only in DE, AT, CH, BE, IT, NL, ES and FR - If oneClickToken is sent, the payment method must be set to
CC. - When processing without Orderpage,
IDEALmust be set.
referenceIDstringmerchant’s reference identifier. It must be unique if provided
custom1stringpass-through variable - max 255 printable characters
custom2stringpass-through variable - max 255 printable characters
custom3stringpass-through variable - max 255 printable characters
successURLstringURL for redirect after successful transaction - max 255 characters. Defaults to success landing URL on the website.
declineURLstringURL for redirect after declined transaction - max 255 characters. Defaults to decline landing URL on the website.
oneClickTokenstring- the one-time oneClickToken from previous purchase
- NOTE: oneClickToken is excluded from signature calculations
emailstring- email of the buyer. If not set, it will be collected on the Order Page
- NOTE: email is excluded from signature calculations (max 100 chars else it will be ignored)
signaturestringrequiredSignature calculation
GET https://secure.verotel.com/status/order
?version=4
&shopID=12345
&referenceID=order-1001
&saleID=123456
&signature=abcdef0123456789abcdef0123456789abcdef01const url = new URL("https://secure.verotel.com/status/order");
url.searchParams.set("version", "4");
url.searchParams.set("shopID", "12345");
url.searchParams.set("referenceID", "order-1001");
url.searchParams.set("saleID", "123456");
url.searchParams.set("signature", "abcdef0123456789abcdef0123456789abcdef01");
const response = await fetch(url);from urllib.parse import urlencode
from urllib.request import urlopen
params = {
"version": "4",
"shopID": "12345",
"referenceID": "order-1001",
"saleID": "123456",
"signature": "abcdef0123456789abcdef0123456789abcdef01",
}
url = "https://secure.verotel.com/status/order?" + urlencode(params)
response = urlopen(url)// GET https://secure.verotel.com/status/order
$params = [
"version" => "4",
"shopID" => "12345",
"referenceID" => "order-1001",
"saleID" => "123456",
"signature" => "abcdef0123456789abcdef0123456789abcdef01",
];// GET https://secure.verotel.com/status/order
Map<String, String> params = Map.ofEntries(
Map.entry("version", "4"),
Map.entry("shopID", "12345"),
Map.entry("referenceID", "order-1001"),
Map.entry("saleID", "123456"),
Map.entry("signature", "abcdef0123456789abcdef0123456789abcdef01")
);/status/orderQuery parameters
versionnumber4
shopIDnumbernumerical ID of the website in the Verotel system
referenceIDstringMerchant’s reference identifier if provided (referenceID OR saleID must be posted - NOT BOTH)
saleIDnumberVerotel saleID identifier (referenceID OR saleID must be posted - NOT BOTH)
signaturestringSignature calculation
Response
200responsestringFOUND- purchase record found and returnedNOTFOUND- purchase not foundERROR- error (see ‘error’ key)
errorstringmessage (for response=ERROR)
saleIDstringidentifier of the transaction in Verotel System
shopIDstringID of website in Verotel system
paymentMethodstring- an identifier of payment method that was used for the transaction.
- Can be one of following:
Credit CardorDirect Debit EU
priceAmountstringamount processed. in nnn.nn formatt
priceCurrencystring3 char ISO code of the Sale currency
descriptionstringProduct description text - max 100 printable characters
referenceIDstringMerchant reference identifier - max 100 printable characters
namestringname of the buyer
emailstringemail address of the buyer
countrystringselected or detected country ISO code (ISO 3166-1-alpha-2 code)
oneClickTokenstringIf the feature is enabled - Currently valid oneClickToken
createdOnstringTimestamp of purchase creation
saleResultstringpurchase processing result (APPROVED)
billingAddr_fullNamestringbilling address: full name field value
billingAddr_companystringbilling address: company field value
billingAddr_addressLine1stringbilling address: 1st line field value
billingAddr_addressLine2stringbilling address: 2nd line field value
billingAddr_citystringbilling address: city name
billingAddr_zipstringbilling address: zip code / postal code
billingAddr_statestringbilling address: US state code (ISO 3166-2)
billingAddr_countrystringbilling address: country ISO code (ISO 3166-1-alpha-2 code)