Jaanus
Jaanus

Reputation: 16551

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?

Upvotes: 6

Views: 1627

Answers (1)

Gil Birman
Gil Birman

Reputation: 35920

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

Upvotes: 3

Related Questions