Javascript SDK currency code error

stathis_kan
Contributor
Contributor

I try to pass to my create order request a EUR currency code and I get this Javascript error:

Expected USD got EUR.Please make sure you are passing EUR to the SDK. Could anyone help me with this issue?

Thank you.

Login to Me Too
6 REPLIES 6

tejasm1
Contributor
Contributor

Try passing currency in your script tag like this
Might be it will help

<script src="https://paypal.com/sdk/js?client-id=YOUR_CLIENT_ID&currency=EUR"></script>

and make sure you pass currency_code whenever you use amount object

Login to Me Too

stathis_kan
Contributor
Contributor

Works great!

Thank you very much  tejasm1!

Login to Me Too

Lovekesh
Contributor
Contributor

m facing the same issue.

But i want a dynamic currency to be accepted here.

As m accepting payments in multiple currencies

Login to Me Too

Hisaeri
Contributor
Contributor

Then you can load dynamically the paypal script depending on the currency needed, and inject it on your page. Example :

 

 var url = paypal_url + currency;
 var paypal_script = document.createElement("script"),
        head = document.head || document.getElementsByTagName("head")[0];
    paypal_script.onload = function () {
        // do whatever you want after it has been loaded
        // createPaypalButton() -- example here created the paypal button
    };
    paypal_script.src = url;
    paypal_script.async = true;
    head.insertBefore(paypal_scripthead.firstChild);
Login to Me Too

Lovekesh
Contributor
Contributor

Thank you for your answer.

But M accepting amount and currency from a form.

So how can I call SDK dynamically based on the user selects the currency 

Login to Me Too

AlecSherman
Contributor
Contributor

It took me forever to find this solution so I thought I should share it with you.  Pass the currency in the same place in your JavaScript code that you put your client-id.  This is my code which works for dynamically passing currency code.

 

 

function wtkPayPal(fncPayPalItem, fncAmt, fncPage, fncCurCode='USD') {
    window.paypalLoadScript({
         "client-id": 'your-client-id-here',
         "currency": fncCurCode
        }).then((paypal) => {
            paypal.Buttons({
                createOrder: function(data, actions) {
                  wtkDebugLog('wtkPayPal createOrder');
                  wtkDebugLog(fncPayPalItem);
                  return actions.order.create(fncPayPalItem);
                },
            onError: function (err) {
                wtkDebugLog('Error during purchase:');
                wtkDebugLog(err);
                M.toast({html: 'Error during purchase - please contact tech support', classes: 'rounded red'});
            },
            onCancel: function (data) {
                // Show a cancel page, or return to cart
                wtkDebugLog('Canceled order!');
                M.toast({html: 'Your order has been canceled', classes: 'rounded orange'});
            },
            onApprove: function(data, actions) {
                return actions.order.capture().then(function(details) {
                // your custom code here for handling success
            }
        }).render('#paypal-buttons');
    });
} // wtkPayPal

 

Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.