File "StripeInline.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/fluentform/app/Modules/Payments/PaymentMethods/Stripe/Components/StripeInline.php
File size: 3.08 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace FluentForm\App\Modules\Payments\PaymentMethods\Stripe\Components;
use FluentForm\Framework\Helpers\ArrayHelper;
use FluentForm\App\Services\FormBuilder\BaseFieldManager;
use FluentForm\App\Modules\Payments\PaymentMethods\Stripe\StripeSettings;
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly.
}
class StripeInline extends BaseFieldManager
{
/**
* This is not a standalone editor components
* rather just a frontend rendering.
*/
public function __construct()
{
parent::__construct(
'stripe_inline',
'Inline Stripe Payment Method',
['payment methods', 'payment', 'methods', 'stripe', 'stripe inline'],
'payments'
);
add_filter('fluentform/payment_method_contents_stripe', array($this, 'maybePushPaymentInputs'), 10, 4);
}
public function maybePushPaymentInputs($inlineContents, $method, $data, $form)
{
if (ArrayHelper::get($method, 'settings.embedded_checkout.value') !== 'yes') {
return $inlineContents;
}
add_filter('fluentform/form_class', function ($classes, $targetForm) use ($form) {
if ($form->instance_index == $targetForm->instance_index) {
$classes .= ' ff_has_stripe_inline';
}
return $classes;
}, 10, 2);
$elementId = $data['attributes']['name'] . '_' . $form->id . '_' . $form->instance_index . '_stripe_inline';
$label = ArrayHelper::get($method, 'settings.option_label.value', __('Pay with Stripe', 'fluentform'));
$display = $method['is_default'] ? 'block' : 'none';
$markup = '<div class="stripe-inline-wrapper ff_pay_inline ff_pay_inline_stripe" style="display: ' . $display . '">';
$markup .= '<div class="ff-el-input--label">';
$markup .= '<label for="' . $elementId . '">' . $label . '</label>';
$markup .= '</div>';
$attributes = [
'name' => 'stripe_card_element',
'class' => 'ff_stripe_card_element ff-el-form-control',
'data-wpf_payment_method' => 'stripe',
'id' => $elementId,
'data-checkout_style' => 'embedded_form',
'data-verify_zip' => ArrayHelper::get($method, 'settings.verify_zip.value') === 'yes'
];
$markup .= '<div ' . $this->buildAttributes($attributes) . '></div>';
$markup .= '<div class="ff_card-errors text-danger" role="alert"></div>';
if (!StripeSettings::isLive($form->id)) {
$stripeTestModeMessage = __('Stripe test mode activated', 'fluentform');
$markup .= '<span style="margin-top: 5px;padding: 0;font-style: italic;font-size: 12px">' . $stripeTestModeMessage . '</span>';
}
$markup .= '</div>';
return $inlineContents . $markup;
}
/**
* We don't need to return anything from here
*/
function getComponent()
{
}
/**
* We don't need to return anything from here
*/
function render($element, $form)
{
}
}