Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Paypal with angularjs $http.post request

This is the standard paypal form for buying stuff.

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="[email protected]">
<input type="hidden" name="item_name" value="Item Name">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="amount" value="0.00">
<input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>

I don't want this form, I want to do this with angularJS:

<button ng-click="checkOut()" class="btn btn-default">Buy</button>

this.checkOut = function () {
            var data = {
               ... // handle all data
            };

            $http.post('https://www.paypal.com/cgi-bin/webscr', data).success(function (data) {
                console.log("success " + data);
            }).error(function (data) {
                console.log("error " + data);
            });
        }

This gives me an error :

XMLHttpRequest cannot load https://www.paypal.com/cgi-bin/webscr. The request was redirected to 'https://www.paypal.com/home', which is disallowed for cross-origin requests that require preflight.

Any suggestions, how to do it angularJS, without the form?

like image 393
Jaanus Avatar asked Jan 29 '14 13:01

Jaanus


1 Answers

PayPal doesn't support CORS right now so it's not possible to POST to PayPal using $http.

like image 154
Gil Birman Avatar answered Oct 15 '22 20:10

Gil Birman