· 7 years ago · Oct 10, 2018, 01:40 PM
1<?php
2define('HMAC_SHA256', 'sha256');
3define('SECRET_KEY','4e2ba2a8beb745dd815ce1d0c8aaee1d2f8186bc5afb4349b64f6e892f397534b343ba6bc89743fcaff184cdb2a48edbdb7734c6265247cf98409815098c38320e203516eb71463bb91b4bae89fe47075fd59c31c6bb4e5caebfa7c34a35995b60b7d11a8cbf46dc9d745e97512fef57bf0dc412a6a54d48bad79be7a0aa0da2');
4
5function sign ($params) {
6
7 return signData(buildDataToSign($params),SECRET_KEY);
8}
9
10function signData($data, $secretKey) {
11 return base64_encode(hash_hmac('sha256', $data, $secretKey, true));
12}
13
14function buildDataToSign($params) {
15 $signedFieldNames = explode(",",$params["signed_field_names"]);
16 foreach ($signedFieldNames as $field) {
17 $dataToSign[] = $field . "=" . $params[$field];
18 }
19 return commaSeparate($dataToSign);
20}
21
22function commaSeparate ($dataToSign) {
23 return implode(",",$dataToSign);
24}
25
26?>
27
28<form id="payment_confirmation" action="https://testsecureacceptance.cybersource.com/pay" method="post"/>
29<?php
30//$sessid = $_GET['sess_id'];
31$time = $sessid;
32$_REQUEST['reference_number'] = $time;
33$_REQUEST['access_key'] = "a0bd86e2b83537759a69f25c26197bff";
34$_REQUEST['profile_id'] = "FDAD097A-203B-448B-A57A-0547153C8644";
35$_REQUEST['transaction_uuid'] = uniqid();
36$_REQUEST['signed_field_names'] ="access_key,profile_id,transaction_uuid,signed_field_names,unsigned_field_names,signed_date_time,locale,transaction_type,reference_number,amount,currency,customer_ip_address,item_0_name,item_1_name,item_0_unit_price,item_1_unit_price,line_item_count,merchant_defined_data1,merchant_defined_data2,merchant_defined_data3,merchant_defined_data4,merchant_defined_data5,merchant_defined_data6,merchant_defined_data7,merchant_defined_data8,merchant_defined_data20";
37$_REQUEST['signed_date_time'] = gmdate("Y-m-d\TH:i:s\Z");
38$_REQUEST['locale'] = "en";
39$_REQUEST['transaction_type'] = "sale";
40$_REQUEST['unsigned_field_names']= '';
41$_REQUEST['amount'] = '69.120';
42$_REQUEST['currency'] = "KWD";
43
44
45/*$_REQUEST['bill_to_forename'] = 'Aziz';
46$_REQUEST['bill_to_surname'] = 'Gura';
47$_REQUEST['bill_address1'] = '1295 Charleston Roadx';
48$_REQUEST['bill_city'] = 'Mountain View';
49$_REQUEST['bill_to_address_state'] = 'KW';
50$_REQUEST['bill_to_address_postal_code'] = '94043';
51$_REQUEST['bill_country'] = 'KW';
52$_REQUEST['customer_email'] = 'aziz@mskuwait.com';
53
54$_REQUEST['customer_lastname'] = 'Gura';
55*/
56
57$_REQUEST['customer_ip_address'] = $_SERVER['REMOTE_ADDR'];
58
59$_REQUEST['item_0_name'] = 'Safety Helmet';
60$_REQUEST['item_1_name'] = 'Safety Gloves';
61$_REQUEST['line_item_count'] = '2';
62
63$_REQUEST['item_0_unit_price'] = '12.34';
64$_REQUEST['item_1_unit_price'] = '56.78';
65
66$_REQUEST['merchant_defined_data1']= 'WC';
67$_REQUEST['merchant_defined_data2']= 'ibuysafety';
68$_REQUEST['merchant_defined_data3']= 'Safety Equipments';
69$_REQUEST['merchant_defined_data4']= 'Safety Helmet';
70$_REQUEST['merchant_defined_data5']= 'NO';
71$_REQUEST['merchant_defined_data6']= 'Standard';
72$_REQUEST['merchant_defined_data7']= '2';
73$_REQUEST['merchant_defined_data8']= 'Kuwait';
74$_REQUEST['merchant_defined_data20']= 'NO';
75
76
77$_REQUEST['device_fingerprint_id']= $sessid;
78
79 foreach($_REQUEST as $name => $value) {
80 $params[$name] = $value;
81 }
82?>
83<fieldset id="confirmation">
84 <legend>Review Payment Details</legend>
85 <div>
86 <?php
87 foreach($params as $name => $value) {
88 echo "<div>";
89 echo "<span class=\"fieldName\">" . $name . "</span><span class=\"fieldValue\">" . $value . "</span>";
90 echo "</div>\n";
91 }
92 ?>
93 </div>
94</fieldset>
95 <?php
96 foreach($params as $name => $value) {
97 echo "<input type=\"hidden\" id=\"" . $name . "\" name=\"" . $name . "\" value=\"" . $value . "\"/>\n";
98 }
99 echo "<input type=\"hidden\" id=\"signature\" name=\"signature\" value=\"" . sign($params) . "\"/>\n";
100 ?>
101<br>
102<center><input type="submit" class="btn btn-large btn-info" id="submit" value="Confirm"/></center>
103</form>
104<br><br>