<?php

declare(strict_types=1);

namespace MaxMind\MinFraud\Validation\Rules;

use Respect\Validation\Rules\AbstractWrapper;
use Respect\Validation\Validator as v;

/**
 * @internal
 */
class PaymentProcessor extends AbstractWrapper
{
    public function __construct()
    {
        parent::__construct(v::in(
            [
                'adyen',
                'affirm',
                'afterpay',
                'altapay',
                'amazon_payments',
                'american_express_payment_gateway',
                'apple_pay',
                'aps_payments',
                'authorizenet',
                'balanced',
                'beanstream',
                'bluepay',
                'bluesnap',
                'boacompra',
                'boku',
                'bpoint',
                'braintree',
                'cardknox',
                'cardpay',
                'cashfree',
                'ccavenue',
                'ccnow',
                'cetelem',
                'chase_paymentech',
                'checkout_com',
                'cielo',
                'collector',
                'commdoo',
                'compropago',
                'concept_payments',
                'conekta',
                'coregateway',
                'creditguard',
                'credorax',
                'ct_payments',
                'cuentadigital',
                'curopayments',
                'cybersource',
                'dalenys',
                'dalpay',
                'datacap',
                'datacash',
                'dibs',
                'digital_river',
                'dlocal',
                'dotpay',
                'ebs',
                'ecomm365',
                'ecommpay',
                'elavon',
                'emerchantpay',
                'epay',
                'eprocessing_network',
                'epx',
                'eway',
                'exact',
                'first_atlantic_commerce',
                'first_data',
                'fiserv',
                'g2a_pay',
                'global_payments',
                'gocardless',
                'google_pay',
                'heartland',
                'hipay',
                'ingenico',
                'interac',
                'internetsecure',
                'intuit_quickbooks_payments',
                'iugu',
                'klarna',
                'komoju',
                'lemon_way',
                'mastercard_payment_gateway',
                'mercadopago',
                'mercanet',
                'merchant_esolutions',
                'mirjeh',
                'mollie',
                'moneris_solutions',
                'neopay',
                'neosurf',
                'nmi',
                'oceanpayment',
                'oney',
                'onpay',
                'openbucks',
                'openpaymx',
                'optimal_payments',
                'orangepay',
                'other',
                'pacnet_services',
                'payeezy',
                'payfast',
                'paygate',
                'paylike',
                'payment_express',
                'paymentwall',
                'payone',
                'paypal',
                'payplus',
                'paysafecard',
                'paysera',
                'paystation',
                'paytm',
                'paytrace',
                'paytrail',
                'payture',
                'payu',
                'payulatam',
                'payvision',
                'payway',
                'payza',
                'pinpayments',
                'placetopay',
                'posconnect',
                'princeton_payment_solutions',
                'psigate',
                'qiwi',
                'quickpay',
                'raberil',
                'razorpay',
                'rede',
                'redpagos',
                'rewardspay',
                'safecharge',
                'sagepay',
                'securetrading',
                'shopify_payments',
                'simplify_commerce',
                'skrill',
                'smartcoin',
                'smartdebit',
                'solidtrust_pay',
                'sps_decidir',
                'stripe',
                'synapsefi',
                'systempay',
                'telerecargas',
                'towah',
                'transact_pro',
                'trustly',
                'tsys',
                'usa_epay',
                'vantiv',
                'verepay',
                'vericheck',
                'vindicia',
                'virtual_card_services',
                'vme',
                'vpos',
                'windcave',
                'wirecard',
                'worldpay',
            ]
        ));
    }
}
