本文整理汇总了PHP中Payum\Core\Bridge\Spl\ArrayObject::validateNotEmpty方法的典型用法代码示例。如果您正苦于以下问题:PHP ArrayObject::validateNotEmpty方法的具体用法?PHP ArrayObject::validateNotEmpty怎么用?PHP ArrayObject::validateNotEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Payum\Core\Bridge\Spl\ArrayObject
的用法示例。
在下文中一共展示了ArrayObject::validateNotEmpty方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* {@inheritDoc}
*
* @param Capture $request
*/
public function execute($request)
{
RequestNotSupportedException::assertSupports($this, $request);
$model = new ArrayObject($request->getModel());
if (null !== $model['EXECCODE']) {
return;
}
if (false == $model['CLIENTUSERAGENT']) {
$this->gateway->execute($httpRequest = new GetHttpRequest());
$model['CLIENTUSERAGENT'] = $httpRequest->userAgent;
}
if (false == $model['CLIENTIP']) {
$this->gateway->execute($httpRequest = new GetHttpRequest());
$model['CLIENTIP'] = $httpRequest->clientIp;
}
$cardFields = array('CARDCODE', 'CARDCVV', 'CARDVALIDITYDATE', 'CARDFULLNAME');
if (false == $model->validateNotEmpty($cardFields, false) && false == $model['ALIAS']) {
try {
$this->gateway->execute($creditCardRequest = new ObtainCreditCard());
$card = $creditCardRequest->obtain();
$model['CARDVALIDITYDATE'] = new SensitiveValue($card->getExpireAt()->format('m-y'));
$model['CARDCODE'] = $card->getNumber();
$model['CARDFULLNAME'] = $card->getHolder();
$model['CARDCVV'] = $card->getSecurityCode();
} catch (RequestNotSupportedException $e) {
throw new LogicException('Credit card details has to be set explicitly or there has to be an action that supports ObtainCreditCard request.');
}
}
//instruction must have an alias set (e.g oneclick payment) or credit card info.
if (false == ($model['ALIAS'] || $model->validateNotEmpty($cardFields, false))) {
throw new LogicException('Either credit card fields or its alias has to be set.');
}
$result = $this->api->payment($model->toUnsafeArray());
$model->replace((array) $result);
}
示例2: execute
/**
* {@inheritDoc}
*/
public function execute($request)
{
/** @var $request \Payum\Core\Request\Capture */
if (false == $this->supports($request)) {
throw RequestNotSupportedException::createActionNotSupported($this, $request);
}
$model = new ArrayObject($request->getModel());
if (null !== $model['EXECCODE']) {
return;
}
$cardFields = array('CARDCODE', 'CARDCVV', 'CARDVALIDITYDATE', 'CARDFULLNAME');
if (false == $model->validateNotEmpty($cardFields, false) && false == $model['ALIAS']) {
try {
$creditCardRequest = new ObtainCreditCard();
$this->payment->execute($creditCardRequest);
$card = $creditCardRequest->obtain();
$model['CARDVALIDITYDATE'] = new SensitiveValue($card->getExpireAt()->format('m-y'));
$model['CARDCODE'] = $card->getNumber();
$model['CARDFULLNAME'] = $card->getHolder();
$model['CARDCVV'] = $card->getSecurityCode();
} catch (RequestNotSupportedException $e) {
throw new LogicException('Credit card details has to be set explicitly or there has to be an action that supports ObtainCreditCard request.');
}
}
//instruction must have an alias set (e.g oneclick payment) or credit card info.
if (false == ($model['ALIAS'] || $model->validateNotEmpty($cardFields, false))) {
throw new LogicException('Either credit card fields or its alias has to be set.');
}
$response = $this->api->payment($model->toUnsafeArray());
$model->replace((array) $response->getContentJson());
}
示例3: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(['payum.action.capture' => new CaptureAction(), 'payum.action.capture_offsite' => new OffsiteCaptureAction(), 'payum.action.convert_payment' => new ConvertPaymentAction(), 'payum.action.status' => new StatusAction()]);
if (false == $config['payum.api']) {
//BC layer
if ($config['options']) {
$config->defaults($config['options']);
}
$config->defaults(['type' => $this->omnipayGatewayTypeOrClass]);
// omnipay does not provide required options.
$config['payum.required_options'] = ['type'];
$gateway = null;
if ($config['type']) {
try {
/** @var GatewayInterface $gateway */
$gateway = $this->omnipayGatewayFactory->create($config['type']);
} catch (OmnipayException $e) {
throw new LogicException(sprintf('Given omnipay gateway type %s or class is not supported. Supported: %s', $config['type'], implode(', ', $this->omnipayGatewayFactory->getSupportedGateways())), 0, $e);
}
$config['payum.default_options'] = array_replace(['testMode' => true], $gateway->getDefaultParameters());
$config->defaults($config['payum.default_options']);
}
$config['payum.api'] = function (ArrayObject $config) use($gateway) {
$config->validateNotEmpty($config['payum.required_options']);
$gateway->initialize((array) $config);
return $gateway;
};
}
}
示例4: execute
/**
* {@inheritDoc}
*/
public function execute($request)
{
/** @var $request Capture */
if (false == $this->supports($request)) {
throw RequestNotSupportedException::createActionNotSupported($this, $request);
}
$model = new ArrayObject($request->getModel());
if (is_numeric($model['RESULT'])) {
return;
}
$cardFields = array('ACCT', 'CVV2', 'EXPDATE');
if (false == $model->validateNotEmpty($cardFields, false)) {
try {
$this->payment->execute($obtainCreditCard = new ObtainCreditCard());
$card = $obtainCreditCard->obtain();
$model['EXPDATE'] = new SensitiveValue($card->getExpireAt()->format('my'));
$model['ACCT'] = $card->getNumber();
$model['CVV2'] = $card->getSecurityCode();
} catch (RequestNotSupportedException $e) {
throw new LogicException('Credit card details has to be set explicitly or there has to be an action that supports ObtainCreditCard request.');
}
}
$buzzRequest = new Request();
$buzzRequest->setFields($model->toUnsafeArray());
$response = $this->api->doPayment($buzzRequest);
$model->replace($response);
}
示例5: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
if (!class_exists('Klarna_Checkout_Order')) {
throw new \LogicException('You must install "klarna/checkout" library.');
}
$config->defaults(array('payum.factory_name' => 'klarna_checkout', 'payum.factory_title' => 'Klarna Checkout', 'payum.template.authorize' => '@PayumKlarnaCheckout/Action/capture.html.twig', 'contentType' => Constants::CONTENT_TYPE_AGGREGATED_ORDER_V2, 'sandbox' => true));
$config->defaults(array('payum.action.authorize_recurring' => new AuthorizeRecurringAction(), 'payum.action.authorize' => new AuthorizeAction($config['payum.template.authorize']), 'payum.action.notify' => new NotifyAction(), 'payum.action.status' => new StatusAction(), 'payum.action.sync' => new SyncAction(), 'payum.action.convert_payment' => new ConvertPaymentAction(), 'payum.action.api.create_order' => new CreateOrderAction(), 'payum.action.api.update_order' => new UpdateOrderAction(), 'payum.action.api.fetch_order' => new FetchOrderAction()));
if (false == $config['payum.api']) {
$config['payum.default_options'] = array('merchant_id' => '', 'secret' => '', 'terms_uri' => '', 'checkout_uri' => '', 'sandbox' => true);
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = array('merchant_id', 'secret');
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
$klarnaConfig = new Config();
$klarnaConfig->merchantId = $config['merchant_id'];
$klarnaConfig->secret = $config['secret'];
$klarnaConfig->contentType = $config['contentType'];
$klarnaConfig->termsUri = $config['termsUri'];
$klarnaConfig->checkoutUri = $config['checkoutUri'];
$klarnaConfig->baseUri = $config['sandbox'] ? Constants::BASE_URI_SANDBOX : Constants::BASE_URI_LIVE;
return $klarnaConfig;
};
}
$config['payum.paths'] = array_replace(['PayumKlarnaCheckout' => __DIR__ . '/Resources/views'], $config['payum.paths'] ?: []);
}
示例6: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(['payum.factory_name' => 'perfectmoney', 'payum.factory_title' => 'Perfect Money', 'payum.action.capture' => new CaptureAction(), 'payum.action.status' => new StatusAction(), 'payum.action.convert_payment' => new ConvertPaymentAction()]);
if (false == $config['payum.api']) {
$config['payum.default_options'] = ['sandbox' => true, 'alternate_passphrase' => null, 'payee_account' => null, 'display_name' => null];
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = ['payee_account', 'alternate_passphrase', 'display_name'];
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
return new Api((array) $config, $config['payum.http_client']);
};
}
}
示例7: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(array('payum.factory_name' => 'be2bill_direct', 'payum.factory_title' => 'Be2Bill Direct', 'payum.action.capture' => new CaptureAction(), 'payum.action.status' => new StatusAction(), 'payum.action.convert_payment' => new ConvertPaymentAction()));
if (false == $config['payum.api']) {
$config['payum.default_options'] = array('identifier' => '', 'password' => '', 'sandbox' => true);
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = array('identifier', 'password');
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
return new Api(array('identifier' => $config['identifier'], 'password' => $config['password'], 'sandbox' => $config['sandbox']), $config['payum.http_client'], $config['httplug.message_factory']);
};
}
}
示例8: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(['payum.factory_name' => 'skeleton', 'payum.factory_title' => 'skeleton', 'payum.action.capture' => new CaptureAction(), 'payum.action.authorize' => new AuthorizeAction(), 'payum.action.refund' => new RefundAction(), 'payum.action.cancel' => new CancelAction(), 'payum.action.notify' => new NotifyAction(), 'payum.action.status' => new StatusAction(), 'payum.action.convert_payment' => new ConvertPaymentAction()]);
if (false == $config['payum.api']) {
$config['payum.default_options'] = array('sandbox' => true);
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = [];
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
return new Api((array) $config, $config['payum.http_client'], $config['httplug.message_factory']);
};
}
}
示例9: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(['payum.factory_name' => 'paymill', 'payum.factory_title' => 'Paymill', 'payum.action.capture' => new CaptureAction(), 'payum.action.transaction' => new TransactionAction(), 'payum.action.status' => new StatusAction(), 'payum.action.convert_payment' => new ConvertPaymentAction()]);
if (false == $config['payum.api']) {
$config['payum.default_options'] = array('api_private_key' => '', 'api_public_key' => '', 'test_private_key' => '', 'test_public_key' => '', 'sandbox' => true);
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = [];
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
return new Api((array) $config, $config['payum.http_client']);
};
}
}
示例10: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
if (!class_exists('SoapClient')) {
throw new \LogicException('You must install "ext-soap" extension.');
}
$config['payum.default_options'] = array('account_number' => '', 'encryption_key' => '', 'sandbox' => true);
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = array('account_number', 'encryption_key');
$config->defaults(array('payum.factory_name' => 'payex', 'payum.factory_title' => 'Payex', 'soap.client_factory' => new SoapClientFactory(), 'payum.api.order' => function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
$payexConfig = array('account_number' => $config['account_number'], 'encryption_key' => $config['encryption_key'], 'sandbox' => $config['sandbox']);
return new OrderApi($config['soap.client_factory'], $payexConfig);
}, 'payum.api.agreement' => function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
$payexConfig = array('account_number' => $config['account_number'], 'encryption_key' => $config['encryption_key'], 'sandbox' => $config['sandbox']);
return new AgreementApi($config['soap.client_factory'], $payexConfig);
}, 'payum.api.recurring' => function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
$payexConfig = array('account_number' => $config['account_number'], 'encryption_key' => $config['encryption_key'], 'sandbox' => $config['sandbox']);
return new RecurringApi($config['soap.client_factory'], $payexConfig);
}, 'payum.action.capture' => new PaymentDetailsCaptureAction(), 'payum.action.status' => new PaymentDetailsStatusAction(), 'payum.action.sync' => new PaymentDetailsSyncAction(), 'payum.action.auto_pay_capture' => new AutoPayPaymentDetailsCaptureAction(), 'payum.action.auto_pay_status' => new AutoPayPaymentDetailsStatusAction(), 'payum.action.convert_payment' => new ConvertPaymentAction(), 'payum.action.api.agreement_details_status' => new AgreementDetailsStatusAction(), 'payum.action.api.agreement_details_sync' => new AgreementDetailsSyncAction(), 'payum.action.api.create_agreement' => new CreateAgreementAction(), 'payum.action.api.delete_agreement' => new DeleteAgreementAction(), 'payum.action.api.check_agreement' => new CheckAgreementAction(), 'payum.action.api.auto_pay_agreement' => new AutoPayAgreementAction(), 'payum.action.api.start_recurring_gateway' => new StartRecurringPaymentAction(), 'payum.action.api.stop_recurring_gateway' => new StopRecurringPaymentAction(), 'payum.action.api.check_recurring_gateway' => new CheckRecurringPaymentAction(), 'payum.action.api.initialize_order' => new InitializeOrderAction(), 'payum.action.api.complete_order' => new CompleteOrderAction(), 'payum.action.api.check_order' => new CheckOrderAction()));
}
示例11: populateConfig
/**
* {@inheritdoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(['payum.factory_name' => 'sofortuberweisung', 'payum.factory_title' => 'Sofortuberweisung payment gateway', 'payum.action.capture' => new CaptureAction(), 'payum.action.status' => new StatusAction(), 'payum.action.sync' => new AuthorizeAction(), 'payum.action.authorize' => new SyncAction(), 'payum.action.convert' => new ConvertAction(), 'payum.action.api.request_sofort_uberweisung' => new RequestSofortUberweisungAction(), 'payum.action.api.get_transaction_data' => new GetTransactionDataAction(), 'payum.action.api.fill_order_details' => new ConvertAction(), 'payum.extension.endless_cycle_detector' => new EndlessCycleDetectorExtension()]);
if (false == $config['payum.api']) {
$config['payum.default_options'] = ['configkey' => '', 'timeout' => 1800];
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = ['configkey'];
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
return new Api($config->getArrayCopy());
};
}
}
示例12: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(array('payum.factory_name' => 'paypal_masspay_nvp', 'payum.factory_title' => 'PayPal Masspay', 'payum.action.payout' => new PayoutAction(), 'payum.action.api.masspay' => new MasspayAction(), 'payum.action.convert_payout' => new ConvertPayoutAction(), 'payum.action.get_payout_status' => new GetPayoutStatusAction()));
if (false == $config['payum.api']) {
$config['payum.default_options'] = array('username' => '', 'password' => '', 'signature' => '', 'sandbox' => true);
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = array('username', 'password', 'signature');
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
$paypalConfig = ['username' => $config['username'], 'password' => $config['password'], 'signature' => $config['signature'], 'sandbox' => $config['sandbox']];
return new Api($paypalConfig, $config['payum.http_client'], $config['httplug.message_factory']);
};
}
}
示例13: populateConfig
/**
*
* @param ArrayObject $config
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(['payum.factory_name' => 'dotpay', 'payum.factory_title' => 'Dotpay', 'payum.action.capture' => new CaptureAction(), 'payum.action.status' => new StatusAction(), 'payum.action.notify' => new NotifyAction(), 'payum.action.sync' => new SyncAction($config), 'payum.action.convert_payment' => new ConvertPaymentAction(), 'payum.action.api.do_payment' => new DoPaymentAction()]);
if (false == $config['payum.api']) {
$config['payum.default_options'] = ['id' => '', 'URLC' => '', 'endpoint' => Api::DEFAULT_ENDPOINT, 'method' => 'GET'];
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = ['id'];
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
$dotpayConfig = ['id' => $config['id'], 'URLC' => $config['URLC'], 'endpoint' => $config['endpoint'], 'method' => $config['method'], 'url' => $config['url'], 'type' => $config['type'], 'PIN' => $config['PIN'], 'ip' => $config['ip']];
return new Api($dotpayConfig, $config['payum.http_client']);
};
}
}
示例14: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(array('payum.factory_name' => 'yandex_money', 'payum.factory_title' => 'Yandex Money', 'payum.action.capture' => new CaptureAction(), 'payum.action.notify' => new NotifyAction($config['payum.security.token_storage']), 'payum.action.notify_null' => new NotifyNullAction(), 'payum.action.status' => new StatusAction(), 'payum.action.convert_payment' => new ConvertPaymentAction()));
if (false == $config['payum.api']) {
$config['payum.default_options'] = array('account' => null, 'secret' => null);
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = array('account');
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
$apiConfig = array('account' => $config['account'], 'secret' => $config['secret']);
return new Api($apiConfig);
};
}
}
示例15: populateConfig
/**
* {@inheritDoc}
*/
protected function populateConfig(ArrayObject $config)
{
$config->defaults(array('payum.factory_name' => 'paypal_express_checkout_nvp', 'payum.factory_title' => 'PayPal ExpressCheckout', 'payum.action.capture' => new CaptureAction(), 'payum.action.convert_payment' => new ConvertPaymentAction(), 'payum.action.notify' => new NotifyAction(), 'payum.action.status' => new PaymentDetailsStatusAction(), 'payum.action.sync' => new PaymentDetailsSyncAction(), 'payum.action.recurring_status' => new RecurringPaymentDetailsStatusAction(), 'payum.action.recurring_sync' => new RecurringPaymentDetailsSyncAction(), 'payum.action.api.set_express_checkout' => new SetExpressCheckoutAction(), 'payum.action.api.get_express_checkout_details' => new GetExpressCheckoutDetailsAction(), 'payum.action.api.get_transaction_details' => new GetTransactionDetailsAction(), 'payum.action.api.do_express_checkout_payment' => new DoExpressCheckoutPaymentAction(), 'payum.action.api.create_recurring_payment_profile' => new CreateRecurringPaymentProfileAction(), 'payum.action.api.update_recurring_payment_profile' => new UpdateRecurringPaymentProfileAction(), 'payum.action.api.get_recurring_payments_profile_details' => new GetRecurringPaymentsProfileDetailsAction(), 'payum.action.api.cancel_recurring_payments_profile' => new CancelRecurringPaymentsProfileAction(), 'payum.action.api.manage_recurring_payments_profile_status' => new ManageRecurringPaymentsProfileStatusAction(), 'payum.action.api.create_billing_agreement' => new CreateBillingAgreementAction(), 'payum.action.api.do_reference_transaction' => new DoReferenceTransactionAction(), 'payum.action.api.authorize_token' => new AuthorizeTokenAction()));
if (false == $config['payum.api']) {
$config['payum.default_options'] = array('username' => '', 'password' => '', 'signature' => '', 'sandbox' => true);
$config->defaults($config['payum.default_options']);
$config['payum.required_options'] = array('username', 'password', 'signature');
$config['payum.api'] = function (ArrayObject $config) {
$config->validateNotEmpty($config['payum.required_options']);
$paypalConfig = array('username' => $config['username'], 'password' => $config['password'], 'signature' => $config['signature'], 'sandbox' => $config['sandbox']);
return new Api($paypalConfig, $config['payum.http_client']);
};
}
}