php - 在 Opencart postback 和返回URL中

  显示原文与译文双语对照的内容
0 0

我需要帮助查找/配置 postback 并在Opencart上返回 URL 。 我已经成功地集成了 Dragonpay 支付网关 API

但是,我需要知道 postback 并返回它们可以在它的系统上配置的url 。 我如何知道 postback &返回 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'));
}

提前致谢!

时间: 原作者:

0 0

后退和返回url是你的控制器和操作等待访问并在那里发布或者查询的数据的地方。 通常情况下它是这样的:

  1. 你启动付款事务,这意味着你准备要发送的数据,并将它们发送到支付网关 URL 。
  2. 用户完成付款( 或者甚至取消它或者有另一个错误) 后,支付网关将用户重定向回特定的URL
    • 通常这些是成功的URL 和错误 URL 。
  3. 在成功的情况下,URL可能是 http://www.yourdomain.com/index.php?route=payment/yourpaygate/success 在这里,支付门发送数据,这样你就可以在你的商店里设置订单
  4. 在出现错误的情况下,URL可能是 http://www.yourdomain.com/index.php?route=payment/yourpaygate/fail - 这里你知道付款没有完成,并且可以设置订单,取消,取消任何内容。

所以你创建/定义这些 url,然后把它们交给支付网关提供商。

原作者:
...