Opencart で最初の支払いゲートウェイを開発しようとしていますが、支払いが成功した後、または支払いがキャンセルされた後の注文の処理に問題があります。
これは、confirm 関数と update 関数の構文が見つからないためです。
私はこれをどこかで見つけました:
$this->model_checkout_order->update(
$order_id,
$order_status,
"",
true
);
しかし、私は order_id 変数しか持っていませんが、他の変数についてはわかりません。どこに設定するか、何を含める必要がありますか?
これが私のコードです(コールバック関数):
public function callback() {
if (isset($this->request->post['merchant_refID'])) {
$order_id = $this->request->post['merchant_refID'];
} else {
die('Illegal Access');
}
$this->load->model('checkout/order');
$order_info = $this->model_checkout_order->getOrder($order_id);
if ($order_info) {
$data = array_merge($this->request->post,$this->request->get);
//I am using mail function to verify transaction and it is working fine
if ($data['status'] == '0') {
mail('a@a.com','success','Success' ,'From: b@b.com');
}else if ($data['status'] == '-22') {
mail('a@a.com','failed','amount low' ,'From: b@b.com');
}else if ($data['status'] == '-202') {
mail('a@a.com','failed','bank low' ,'From: b@b.com');
}else if ($data['status'] == '-300') {
mail('a@a.com','failed','bank high' ,'From: b@b.com');
}else if ($data['status'] == '-305') {
mail('a@a.com','failed','failed' ,'From: b@b.com');
}else if ($data['status'] == '-999') {
mail('a@a.com','failed','other' ,'From: b@b.com');
}
}
}
注文を更新または確認するにはどうすればよいですか? これに関するガイドはありますか?私は本当に混乱しています!