クラス
Close
Amazon Pay V2 SDK Close Charge Permission.
ソース ソース
ファイル: src/API/ChargePermission/Close.php
class Close extends ErrorStore { const INVALID_CHARGE_PERMISSION_STATUS = 'InvalidChargePermissionStatus'; /** * AmazonPay module object * * @var AmazonPay */ private $module; /** * Sets `$module` member var with dependency injection. * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param AmazonPay $module * @return void */ public function __construct(AmazonPay $module) { $this->module = $module; parent::__construct(); $this->populate(); } /** * Closes a Charge Permission * * @see https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#close-charge-permission * @author Evan D Shaw <evandanielshaw@gmail.com> * @param string $chargePermissionId Charge Permission ID * @param string $closureReason * @param bool $cancelPendingCharges * @return array */ public function delete($chargePermissionId, $closureReason, $cancelPendingCharges = false) { try { $client = $this->module->getAmazonClient(); $result = $client->closeChargePermission($chargePermissionId, [ 'closureReason' => $closureReason, 'cancelPendingCharges' => $cancelPendingCharges, ]); if ($this->module->errors->hasError($result)) { return $this->module->errors->getAmzErrorResponse($result); } } catch (\Exception $e) { return $this->module->errors->getErrorResponse( GenericErrorStore::AMAZON_PAY_SDK_CLIENT_EXCEPTION, [$e->getMessage()] ); } return $result; } /** * Populates error store * * @see https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#error-codes-2 * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void * @throws InvalidArgumentException Thrown if duplicate errorcodes exist. */ public function populate() { $this->addError(new GenericError( self::INVALID_CHARGE_PERMISSION_STATUS, $this->getConstantNameByValue(self::INVALID_CHARGE_PERMISSION_STATUS), 422, function ($message) { return $message; }, __('You tried to call an operation on a Charge Permission that is in a state where that operation cannot be called', 'wcexaap') )); } }
- __construct — Sets $module member var with dependency injection.
- delete — Closes a Charge Permission
- populate — Populates error store