����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.170 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/./././www/vendor/omnipay/stripe/src/Message/PaymentIntents/ |
Upload File : |
<?php
/**
* Stripe Payment Intents Response.
*/
namespace Omnipay\Stripe\Message\PaymentIntents;
use Omnipay\Stripe\Message\Response as BaseResponse;
use Omnipay\Common\Message\RedirectResponseInterface;
/**
* Stripe Payment Intents Response.
*
* This is the response class for all payment intents related responses.
*
* @see \Omnipay\Stripe\PaymentIntentsGateway
*/
class Response extends BaseResponse implements RedirectResponseInterface
{
/**
* Get the status of a payment intents response.
*
* @return string|null
*/
public function getStatus()
{
if (isset($this->data['object']) && 'payment_intent' === $this->data['object']) {
return $this->data['status'];
}
return null;
}
/**
* Return true if the payment intent requires confirmation.
*
* @return bool
*/
public function requiresConfirmation()
{
return $this->getStatus() === 'requires_confirmation';
}
/**
* @inheritdoc
*/
public function getCardReference()
{
if (isset($this->data['object']) && 'payment_method' === $this->data['object']) {
if (!empty($this->data['id'])) {
return $this->data['id'];
}
}
if (isset($this->data['object']) && 'payment_intent' === $this->data['object']) {
if (!empty($this->data['payment_method'])) {
return $this->data['payment_method'];
}
}
return parent::getCardReference();
}
/**
* @inheritdoc
*/
public function getCustomerReference()
{
if (isset($this->data['object']) && 'payment_method' === $this->data['object']) {
if (!empty($this->data['customer'])) {
return $this->data['customer'];
}
}
if (isset($this->data['object']) && 'payment_intent' === $this->data['object']) {
if (!empty($this->data['customer'])) {
return $this->data['customer'];
}
}
return parent::getCustomerReference();
}
/**
* Get the capture method of a payment intents response.
*
* @return string|null
*/
public function getCaptureMethod()
{
if (isset($this->data['object']) && 'payment_intent' === $this->data['object']) {
return $this->data['capture_method'];
}
return null;
}
/**
* @inheritdoc
*/
public function getTransactionReference()
{
if (isset($this->data['object']) && 'payment_intent' === $this->data['object']) {
if (!empty($this->data['charges']['data'][0]['id'])) {
return $this->data['charges']['data'][0]['id'];
}
}
return parent::getTransactionReference();
}
/**
* @inheritdoc
*/
public function isSuccessful()
{
if (isset($this->data['object']) && 'payment_intent' === $this->data['object']) {
return in_array($this->getStatus(), ['succeeded', 'requires_capture']);
}
return parent::isSuccessful();
}
/**
* @inheritdoc
*/
public function isCancelled()
{
if (isset($this->data['object']) && 'payment_intent' === $this->data['object']) {
return $this->getStatus() === 'canceled';
}
return parent::isCancelled();
}
/**
* @inheritdoc
*/
public function isRedirect()
{
if ($this->getStatus() === 'requires_action' || $this->getStatus() === 'requires_source_action') {
// Currently this gateway supports only manual confirmation, so any other
// next action types pretty much mean a failed transaction for us.
return (!empty($this->data['next_action']) && $this->data['next_action']['type'] === 'redirect_to_url');
}
return parent::isRedirect();
}
/**
* @inheritdoc
*/
public function getRedirectUrl()
{
return $this->isRedirect() ? $this->data['next_action']['redirect_to_url']['url'] : parent::getRedirectUrl();
}
/**
* Get the payment intent reference.
*
* @return string|null
*/
public function getPaymentIntentReference()
{
if (isset($this->data['object']) && 'payment_intent' === $this->data['object']) {
return $this->data['id'];
}
return null;
}
}