関数
Cancel::delete( string $chargeId, string $reason )
説明 説明
- $chargeId
 (文字列) (必須) Charge ID
- $reason
 (文字列) (必須)
ファイル: src/API/Charge/Cancel.php
    public function delete($chargeId, $reason) {
        $payload = ['cancellationReason' => $reason];
        try {
            $client = $this->module->getAmazonClient();
            $result = $client->cancelCharge($chargeId, $payload);
            if ($this->module->errors->hasError($result)) {
                $error = $this->module->errors->getAmzErrorResponse($result, $this);
                (new Logger())->logApiResponse(new Log(
                    $this->order->getChargePermissionId(),
                    Log::ACTION_CANCEL_TRANS,
                    $error->errorcode,
                    null,
                    $error
                ));
                return $error;
            }
        } catch (\Exception $e) {
            return $this->module->errors->getErrorResponse(
                GenericErrorStore::AMAZON_PAY_SDK_CLIENT_EXCEPTION,
                [$e->getMessage()]
            );
        }
        $response = json_decode($result['response'], true);
        $details = $response['statusDetails'];
        $this->order->updateChargeState(
            new State(
                $details['state'],
                $details['reasonCode'],
                $details['reasonDescription']
            )
        );
        (new Logger())->logApiResponse(new Log(
            $this->order->getChargePermissionId(),
            Log::ACTION_CANCEL_TRANS,
            Log::RESPONSE_OK
        ));
        return $result;
    }