-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnovalnet_auto_config.php
executable file
·68 lines (67 loc) · 1.78 KB
/
novalnet_auto_config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/**
* Novalnet payment module
*
* This script is used for auto configuration of merchant details
*
* @author Novalnet AG
* @copyright Copyright (c) Novalnet
* @license https://www.novalnet.de/payment-plugins/kostenlos/lizenz
* @link https://www.novalnet.de
*
* Script: novalnet_auto_config.php
*/
include ('includes/application_top.php');
$request = $_REQUEST;
if(!empty($request['signature']) && !empty($request['access_key'])) { // To get values and form request parameters
$data = [];
$data['merchant'] = [
'signature' => $request['signature'],
];
$data['custom'] = [
'lang' => strtoupper($request['lang'])
];
$endpoint = 'https://payport.novalnet.de/v2/merchant/details';
if($request['action'] == 'webhook') { // For webhook
$endpoint = 'https://payport.novalnet.de/v2/webhook/configure';
$data['webhook'] = [
'url' => $request['webhook_url']
];
}
$json_data = json_encode($data);
$response = send_request($json_data, $endpoint, $request['access_key']); // Sending request to Novalnet
echo $response;
exit();
}
/**
* cURL call
*
* @param $data
* @param $url
* @param $access_key
*
* @return $result
*/
function send_request($data, $url, $access_key) {
$encoded_data = base64_encode($access_key);
$headers = [
'Content-Type:application/json',
'Charset:utf-8',
'Accept:application/json',
'X-NN-Access-Key:' . $encoded_data,
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Request Error:' . curl_error($curl);
return $result;
}
curl_close($curl);
return $result;
}
?>