関数
OrderEdit::updateOrderDataCancel( stdClass $new_orderdata, string $old_status, stdClass $old_orderdata )
パラメータ パラメータ
- $new_orderdata
 (stdClass) (必須)
- $old_status
 (文字列) (必須)
- $old_orderdata
 (stdClass) (必須)
ファイル: src/Admin/OrderEdit.php
    protected function updateOrderDataCancel($new_orderdata, $old_status, $old_orderdata) {
        (new V1OrderEdit($this->module))->updateOrderDataCancel($new_orderdata, $old_status, $old_orderdata);
        $opts = $this->module->getActingOpts();
        if ($opts['sync_with_order_status_changes'] !== 'on') {
            return;
        }
        $orderId = (int)$old_orderdata->ID;
        try {
            $order = new OrderMeta($orderId);
        } catch (InvalidArgumentException $e) {
            // not an Amazon Pay V2 order...
            return;
        }
        if ($order->getRefundState() !== null) {
            return;
        }
        $cstate = $order->getChargeState()->getState();
        if ($cstate !== Charge\State::AUTHORIZED && $cstate !== Charge\State::DECLINED) {
            return;
        }
        $result = (new API\Charge\Cancel($this->module, $order))->delete($order->getChargeId(), '');
        if ($result instanceof GenericError) {
            $this->orderUpdateErrorMessage = $result->message;
        }
    }