php - 2checkout invalid token or unsupported currencies during charge using token
one text
I have an issue during working on your API and?�2pay.js library. I get a token from the card using this part of the code and submit the form(using this demo ):
<script>
?� ?� ?� ?� window.addEventListener('load', function () {
?� ?� ?� ?� ?� ?� // Initialize the 2Pay.js client.
?� ?� ?� ?� ?� ?� let jsPaymentClient = new TwoPayClient('{{config('verifone.vendor_code')}}');
?� ?� ?� ?� ?� ?� // Set the desired language to be used inside the iframe.
?� ?� ?� ?� ?� ?� jsPaymentClient.setup.setLanguage('hr');
?� ?� ?� ?� ?� ?� // Create the component that will hold the card fields.
?� ?� ?� ?� ?� ?� let component = jsPaymentClient.components.create('card');
?� ?� ?� ?� ?� ?� // Mount the card fields component in the desired HTML tag. This is where the iframe will be located.
?� ?� ?� ?� ?� ?� component.mount('#card-element');
?� ?� ?� ?� ?� ?� // Handle form submission.
?� ?� ?� ?� ?� ?� document.getElementById('payment-form').addEventListener('submit', (event) => {
?� ?� ?� ?� ?� ?� ?� ?� event.preventDefault();
?� ?� ?� ?� ?� ?� ?� ?� // Extract the Name field value
?� ?� ?� ?� ?� ?� ?� ?� const billingDetails = {
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� name: document.querySelector('#name').value
?� ?� ?� ?� ?� ?� ?� ?� };
?� ?� ?� ?� ?� ?� ?� ?� // Call the generate method using the component as the first parameter
?� ?� ?� ?� ?� ?� ?� ?� // and the billing details as the second one
?� ?� ?� ?� ?� ?� ?� ?� jsPaymentClient.tokens.generate(component, billingDetails).then((response) => {
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� let form = ?�document.getElementById('payment-form');
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� let hiddenInput = document.createElement('input');
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� hiddenInput.setAttribute('type', 'hidden');
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� hiddenInput.setAttribute('name', 'verifoneToken');
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� hiddenInput.setAttribute('value', response.token);
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� form.appendChild(hiddenInput);
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� form.submit()
?� ?� ?� ?� ?� ?� ?� ?� }).catch((error) => {
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� alert(error);
?� ?� ?� ?� ?� ?� ?� ?� });
?� ?� ?� ?� ?� ?� });
?� ?� ?� ?� });
?� ?� </script>
where I get tokens like this one:?�8150cbb0-3253-4f4d-9add-22c60674550c But when I send a request something like this(example from their API):
$request_data = [
?� ?� ?� ?� ?� ?� "Country" => "BA",
?� ?� ?� ?� ?� ?� "Currency" => "EUR",
?� ?� ?� ?� ?� ?� "CustomerIP" => '80.242.115.205',?� ?� ?� ?� ?� ?�
"Language" => "hr",
?� ?� ?� ?� ?� ?� "Source" => 'http://verifone_charge.test',
?� ?� ?� ?� ?� ?� "BillingDetails" => [
?� ?� ?� ?� ?� ?� ?� ?� "CountryCode" => "BA",
?� ?� ?� ?� ?� ?� ?� ?� "Address1" => 'Demo Umjenovica 2',
?� ?� ?� ?� ?� ?� ?� ?� "City" => 'Banja Luka',
?� ?� ?� ?� ?� ?� ?� ?� "Zip" => '78000'
?� ?� ?� ?� ?� ?� ?� ?� "FirstName" => 'John',
?� ?� ?� ?� ?� ?� ?� ?� "LastName" => 'Doe',
?� ?� ?� ?� ?� ?� ?� ?� "Email" => 'john@doe.com',
?� ?� ?� ?� ?� ?� ],
?� ?� ?� ?� ?� ?� "Items" => [
?� ?� ?� ?� ?� ?� ?� ?� [
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� 'Code' => 1234332,
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� 'Quantity' => 1,
?� ?� ?� ?� ?� ?� ?� ?� ]
?� ?� ?� ?� ?� ?� ],
?� ?� ?� ?� ?� ?� "PaymentDetails" => [
?� ?� ?� ?� ?� ?� ?� ?� "Currency" => "EUR",
?� ?� ?� ?� ?� ?� ?� ?� "CustomerIP" => '180.148.115.05',
?� ?� ?� ?� ?� ?� ?� ?� "PaymentMethod" => [
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� "EesToken" => 8150cbb0-3253-4f4d-9add-22c60674550c,?� ?� ?� ?� ?� ?� ?� ?� ?� ?� "RecurringEnabled" => false,
?� ?� ?� ?� ?� ?� ?� ?� ],
?� ?� ?� ?� ?� ?� ?� ?� "Type" => "TEST",
?� ?� ?� ?� ?� ?� ]
?� ?� ?� ?� ];
into?�https://api.2checkout.com/rest/6.0/orders/I get only this:?�
{"error_code":"ORDER_PAYMENT_METHOD_CARD_CURRENCY_INVALID","message":"The provided currency [EUR] is not supported with this card type. Supported currencies: []"}
Or when I put a token into a string like this:
...."PaymentMethod" => [
?� ?� ?� ?� ?� ?� ?� ?� ?� ?� "EesToken" => '8150cbb0-3253-4f4d-9add-22c60674550c',?� ?� ?� ?� ?� ?� ?� ?� ?� ?� "RecurringEnabled" => false,
?� ?� ?� ?� ?� ?� ?� ?� ],?�
I get this:
{"error_code":"INVALID_EES_TOKEN","message":"The token is not valid. In order to proceed with the place order a valid token is required"}
Can you tell me what I didn't work well? And how to fix it?
Source