Flexible integration options to suit your requirements.

Image Description

Integrate digital payments in a Snap.

Our complete and modern API supports simple or complex integrations depending on your requirement. Integrate quickly and easily with the full support of our integrations team. Alternatively, our server-server integration API accommodates more complex scenarios where all card details are handled by the merchant (PCI SAQ-D certification required).

SVG

Unified API

SVG

PCI DSS

SVG

Flexible Integration

SVG

Test Environment

  
curl https://test.oppwa.com/v1/checkouts \
 -d "entityId=8a8294174b7ecb28014b9699220015ca" \
 -d "amount=92.00" \
 -d "currency=EUR" \
 -d "paymentType=DB" \
 -d "registrations[0].id=8ac7a49f6c619208016c6261cc9841db" \
 -d "registrations[1].id=8ac7a49f6c619208016c6261ced741e7" \
 -d "createRegistration=true" \
 -H "Authorization: Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg="
  
  
function request() {
	$url = "https://test.oppwa.com/v1/checkouts";
	$data = "entityId=8a8294174b7ecb28014b9699220015ca" .
                "&amount=92.00" .
                "¤cy=EUR" .
                "&paymentType=DB" .
                "®istrations[0].id=8ac7a49f6c619208016c6261cc9841db" .
                "®istrations[1].id=8ac7a49f6c619208016c6261ced741e7" .
                "&createRegistration=true";

	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                   'Authorization:Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg='));
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// this should be set to true in production
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	$responseData = curl_exec($ch);
	if(curl_errno($ch)) {
		return curl_error($ch);
	}
	curl_close($ch);
	return $responseData;
}
$responseData = request();
  
  
require 'net/https'
require 'uri'
require 'json'

def request()
	uri = URI('https://test.oppwa.com/v1/checkouts')
	http = Net::HTTP.new(uri.host, uri.port)
	http.use_ssl = true
	req = Net::HTTP::Post.new(uri.path)
	req.set_form_data({
		'entityId' => '8a8294174b7ecb28014b9699220015ca',
		'amount' => '92.00',
		'currency' => 'EUR',
		'paymentType' => 'DB',
		'registrations[0].id' => '8ac7a49f6c619208016c6261cc9841db',
		'registrations[1].id' => '8ac7a49f6c619208016c6261ced741e7',
		'createRegistration' => 'true'
	})
	res = http.request(req)
	return JSON.parse(res.body)
end

puts request()
  
  
var https = require('https');
var querystring = require('querystring');

function request(callback) {
	var path='/v1/checkouts';
	var data = querystring.stringify( {
		'entityId':'8a8294174b7ecb28014b9699220015ca',
		'amount':'92.00',
		'currency':'EUR',
		'paymentType':'DB',
		'registrations[0].id':'8ac7a49f6c619208016c6261cc9841db',
		'registrations[1].id':'8ac7a49f6c619208016c6261ced741e7',
		'createRegistration':'true'
	});
	var options = {
		port: 443,
		host: 'https://test.oppwa.com',
		path: path,
		method: 'POST',
		headers: {
			'Content-Type': 'application/x-www-form-urlencoded',
			'Content-Length': data.length,
			'Authorization':'Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg='
		}
	};
	var postRequest = https.request(options, function(res) {
		res.setEncoding('utf8');
		res.on('data', function (chunk) {
			jsonRes = JSON.parse(chunk);
			return callback(jsonRes);
		});
	});
	postRequest.write(data);
	postRequest.end();
}

request(function(responseData) {
	console.log(responseData);
});
  
  
import urllib, urllib2, json

def request():
	url = "https://test.oppwa.com/v1/checkouts"
	data = {
		'entityId' : '8a8294174b7ecb28014b9699220015ca',
		'amount' : '92.00',
		'currency' : 'EUR',
		'paymentType' : 'DB',
		'registrations[0].id' : '8ac7a49f6c619208016c6261cc9841db',
		'registrations[1].id' : '8ac7a49f6c619208016c6261ced741e7',
		'createRegistration' : 'true'
	}
	try:
		opener = urllib2.build_opener(urllib2.HTTPHandler)
		request = urllib2.Request(url, data=urllib.urlencode(data))
		request.add_header('Authorization', 'Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg=')
		request.get_method = lambda: 'POST'
		response = opener.open(request)
		return json.loads(response.read());
	except urllib2.HTTPError, e:
		return e.code;

responseData = request();
print responseData;
  
  
private String request() throws IOException {
	URL url = new URL("https://test.oppwa.com/v1/checkouts");

	HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
	conn.setRequestMethod("POST");
        conn.setRequestProperty("Authorization", "Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg=");
	conn.setDoInput(true);
	conn.setDoOutput(true);

	String data = ""
		+ "entityId=8a8294174b7ecb28014b9699220015ca"
		+ "&amount=92.00"
		+ "¤cy=EUR"
		+ "&paymentType=DB"
		+ "®istrations[0].id=8ac7a49f6c619208016c6261cc9841db"
		+ "®istrations[1].id=8ac7a49f6c619208016c6261ced741e7"
		+ "&createRegistration=true";

	DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
	wr.writeBytes(data);
	wr.flush();
	wr.close();
	int responseCode = conn.getResponseCode();
	InputStream is;

	if (responseCode >= 400) is = conn.getErrorStream();
	else is = conn.getInputStream();

	return IOUtils.toString(is);
}
  

API & SDK libraries

Our versatile API is built to accommodate your requirements and all of our solutions are modular, adaptable and easy-to-implement, conforming to the highest PCI DSS security standards.

Icon
Tokenization
Icon
Registration
Icon
One-Click Payment
Icon
Mobile SDK
Icon
Backoffice
Icon
Recurring Payment
Icon
Reporting
Icon
Webhooks
Full API reference

Integrate digital payments into any application.

Zing.gg connects you seamlessly to dozens of acquirers and payment methods and we can technically support almost any billing model you can imagine. Our full-featured PCI Level 1 gateways support a complete range of card acquiring solutions and alternative payment methods.

For maximum flexibility we utilize multiple connectors and gateways. Depending on your requirement, location and the global or local markets and payment methods you wish to implement, we will work with you to deliver a bespoke solution that meets to your requirement.

When you integrate one of our hosted gateway solutions our checkout forms receive all sensitive card details directly through secure and PCI compliant interfaces. That means your customer’s sensitive card data is never handled directly in your website environment, so there is no risk that the card details could be compromised.

The added security provided by this architecture allows you to integrate quickly and accept payments easily while reducing your PCI scope and minimizing your fraud liability.

Alternatively, if your business or billing model is more complex and you require complete control of all card details on your own servers, our extensive server-server API library accommodates all billing scenarios.

Features:

  • Unified API for all payment applications
  • Fully PCI compliant solution
  • Simple yet flexible integration
  • Full featured test environment
  • Webhook (real-time notifications)

Benefits:

  • Build and test your integration easily in testing mode
  • Integrate easily and start accepting payments in minutes
  • Apply your own CSS and styling for the look and feel you like
  • A professionally branded purchasing experience
  • Web based solution is platform agnostic and mobile ready

Connect in more ways, easily.

Using a webshop system like Shopify, Magento, or WooCommerce? Then you’re already connected! Just activate the gateway in your control panel or install a preconfigured plugin to connect immediately.