【发布时间】:2014-06-10 11:07:16
【问题描述】:
我需要有关在 Opencart 上查找/配置回发和返回 URL 的帮助。我已经成功集成了 Dragonpay Payment Gateway API。
但是,我需要知道回发和返回 URL,以便他们可以在他们的系统上进行配置。我如何知道回发和返回 URL?
public function callback() {
if (isset($this->request->get['txnid'])) {
$order_id = $this->request->get['txnid'];
} else {
$order_id = 0;
}
$this->load->model('checkout/order');
$merchantid = $this->config->get('dragonpay_email');
$ref_no = (isset($this->request->get['refno']))?$this->request->get['refno']:'';
$status = (isset($this->request->get['status']))?$this->request->get['status']:'';
$result = (isset($this->request->get['message']))?$this->request->get['message']:'';
$passwd = $this->config->get('dragonpay_pwd');
$rdigest_str = "$order_id:$ref_no:$status:$result:$passwd";
$chk_rdigest = sha1($rdigest_str);
$order_info = $this->model_checkout_order->getOrder($order_id);
if ($order_info && isset($this->request->get['digest']) && $chk_rdigest==$this->request->get['digest']) {
if (isset($this->request->get['status'])&&strtoupper($this->request->get['status'])=="S") {
$order_status_id = $this->config->get('config_order_status_id');
switch(strtoupper($result)) {
case 'SUCESS':
$order_status_id = $this->config->get('dragonpay_completed_status_id');
break;
case 'FAILURE':
$order_status_id = $this->config->get('dragonpay_failed_status_id');
break;
case 'PENDING':
$order_status_id = $this->config->get('dragonpay_pending_status_id');
break;
}
if (!$order_info['order_status_id']) {
$this->model_checkout_order->confirm($order_id, $order_status_id);
} else {
$this->model_checkout_order->update($order_id, $order_status_id);
}
} else {
$this->model_checkout_order->confirm($order_id, $this->config->get('config_order_status_id'));
}
}
$this->redirect($this->url->link('checkout/success', '', 'SSL'));
}
提前致谢!
【问题讨论】:
标签: php api opencart payment-gateway