PHP 7.4.33
Preview: ClientTokenGateway.php Size: 3.38 KB
/home/godevadmin/www/admin/braintree/final/braintree/lib/Braintree/ClientTokenGateway.php

<?php
namespace Braintree;

use InvalidArgumentException;

class ClientTokenGateway
{
    /**
     *
     * @var Gateway
     */
    private $_gateway;

    /**
     *
     * @var Configuration
     */
    private $_config;

    /**
     *
     * @var Http
     */
    private $_http;

    /**
     *
     * @param Gateway $gateway
     */
    public function __construct($gateway)
    {
        $this->_gateway = $gateway;
        $this->_config = $gateway->config;
        $this->_config->assertHasAccessTokenOrKeys();
        $this->_http = new Http($gateway->config);
    }

    public function generate($params=[])
    {
        if (!array_key_exists("version", $params)) {
            $params["version"] = ClientToken::DEFAULT_VERSION;
        }

        $this->conditionallyVerifyKeys($params);
        $generateParams = ["client_token" => $params];

        return $this->_doGenerate('/client_token', $generateParams);
    }

    /**
     * sends the generate request to the gateway
     *
     * @ignore
     * @param var $url
     * @param array $params
     * @return string
     */
    public function _doGenerate($subPath, $params)
    {
        $fullPath = $this->_config->merchantPath() . $subPath;
        $response = $this->_http->post($fullPath, $params);

        return $this->_verifyGatewayResponse($response);
    }

    /**
     *
     * @param array $params
     * @throws InvalidArgumentException
     */
    public function conditionallyVerifyKeys($params)
    {
        if (array_key_exists("customerId", $params)) {
            Util::verifyKeys($this->generateWithCustomerIdSignature(), $params);
        } else {
            Util::verifyKeys($this->generateWithoutCustomerIdSignature(), $params);
        }
    }

    /**
     *
     * @return mixed[]
     */
    public function generateWithCustomerIdSignature()
    {
        return [
            "version", "customerId", "proxyMerchantId",
            ["options" => ["makeDefault", "verifyCard", "failOnDuplicatePaymentMethod"]],
            "merchantAccountId", "sepaMandateType", "sepaMandateAcceptanceLocation"];
    }

    /**
     *
     * @return string[]
     */
    public function generateWithoutCustomerIdSignature()
    {
        return ["version", "proxyMerchantId", "merchantAccountId"];
    }

    /**
     * generic method for validating incoming gateway responses
     *
     * If the request is successful, returns a client token string.
     * Otherwise, throws an InvalidArgumentException with the error
     * response from the Gateway or an HTTP status code exception.
     *
     * @ignore
     * @param array $response gateway response values
     * @return string client token
     * @throws InvalidArgumentException | HTTP status code exception
     */
    private function _verifyGatewayResponse($response)
    {
        if (isset($response['clientToken'])) {
            return $response['clientToken']['value'];
        } elseif (isset($response['apiErrorResponse'])) {
            throw new InvalidArgumentException(
                $response['apiErrorResponse']['message']
            );
        } else {
            throw new Exception\Unexpected(
                "Expected clientToken or apiErrorResponse"
            );
        }
    }

}
class_alias('Braintree\ClientTokenGateway', 'Braintree_ClientTokenGateway');

Directory Contents

Dirs: 9 × Files: 97

Name Size Perms Modified Actions
Dispute DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
Error DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
Exception DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
Result DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
Test DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
Xml DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.06 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.37 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
579 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1005 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.04 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
9.17 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.28 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.59 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.73 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.63 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.17 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.38 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.77 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.40 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
16.01 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
818 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
813 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.28 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
9.71 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
15.33 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.34 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.32 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.52 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
12.78 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
20.17 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.64 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
134 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.62 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.45 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
693 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
462 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
775 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.53 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
259 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.72 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
244 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
696 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.93 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
6.66 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.44 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.40 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.93 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.84 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
431 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
432 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.36 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
988 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.17 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
5.80 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.34 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
553 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
946 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.01 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
776 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.95 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
755 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.59 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
691 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
430 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
950 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
671 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.00 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
11.90 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.30 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.58 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.70 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
5.22 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.33 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
854 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
822 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.49 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
655 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.11 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.88 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
486 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.00 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
7.14 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.60 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.46 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
269 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
690 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
20.21 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
17.71 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
7.79 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.08 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
9.06 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.59 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.46 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.94 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
14.89 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.95 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
625 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
5.00 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.34 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.27 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
14.69 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
697 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).