forked from jason-footing-cko/checkout-xcart-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
checkoutapipayment_processing.php
46 lines (30 loc) · 1.27 KB
/
checkoutapipayment_processing.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
<?php
define('SKIP_COOKIE_CHECK', true);
require_once './auth.php';
include './payment/includes/autoload.php';
x_load('order');
$posted_data = file_get_contents("php://input");
if (empty($posted_data)) {
// empty request
exit();
} else {
$payment_cc_data = func_query_first("SELECT * FROM $sql_tbl[ccprocessors] WHERE processor='checkoutapipayment.php'");
$Api = CheckoutApi_Api::getApi(array('mode' => $payment_cc_data['param01']));
$objectCharge = $Api->chargeToObj($posted_data);
if ($objectCharge->isValid()) {
/*
* Need to get track id
*/
$order_id = $objectCharge->getTrackId();
if ($objectCharge->getCaptured()) {
$advinfo = 'Your payment has been successfully completed';
func_change_order_status($order_id, 'C', $advinfo); // completed status?
} elseif ($objectCharge->getRefunded()) {
$advinfo = 'Your payment has been refunded';
func_change_order_status($order_id, 'D', $advinfo); // declined status?
} elseif (!$objectCharge->getAuthorised()) {
$advinfo[] = 'Your order has been cancelled';
func_change_order_status($order_id, 'D', $advinfo); // cancelled status?
}
}
}