63 lines
3.3 KiB
JavaScript
63 lines
3.3 KiB
JavaScript
var React = require('react');
|
|
var ItemActions = require('../../actions/itemActions');
|
|
var NavigationActions = require('../../actions/navigationActions');
|
|
var NavigationStore = require('../../stores/navigationStore');
|
|
var CartStore = require('../../stores/cartStore');
|
|
var CartActions = require('../../actions/cartActions');
|
|
|
|
var Globals = require('../../globals');
|
|
var Router = require('react-router');
|
|
|
|
var PaypalButton = React.createClass({
|
|
render: function() {
|
|
var deliveryDestination = JSON.stringify(
|
|
{
|
|
'anonymous_id_string': this.props.deliveryDestination.get('anonymous_id_string'),
|
|
'user_id': this.props.deliveryDestination.get('user_id')
|
|
});
|
|
var amount = Globals.ConvertToEuro(this.props.amount);
|
|
var deliveryCost = Globals.ConvertToEuro(this.props.deliveryCost);
|
|
var root = location.protocol + '//' + location.host;
|
|
var return_url = root + "/hvala";
|
|
var cancel_return_url = root + "/dostava";
|
|
var notifyUrl = Globals.IsUrlAbsolute(Globals.ApiUrl) ? Globals.ApiUrl : root + Globals.ApiUrl;
|
|
notifyUrl += "/payment/confirmation";
|
|
|
|
return (
|
|
<button onClick={this._onPaypalClick} disabled={this.props.disabled} type="button" className="btn mybutton payment-btn">Paypal
|
|
<form id="paypal_form" className="hidden" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
|
|
<input type="hidden" name="cmd" value="_xclick" />
|
|
<input type="hidden" name="business" value={Globals.PaypalId} />
|
|
<input type="hidden" name="lc" value="BA" />
|
|
<input type="hidden" name="item_name" value="Item" />
|
|
<input type="hidden" name="item_number" value={this.props.cartId} />
|
|
<input type="hidden" name="amount" value={amount} />
|
|
<input type="hidden" name="currency_code" value="EUR" />
|
|
<input type="hidden" name="button_subtype" value="services" />
|
|
<input type="hidden" name="no_note" value="0" />
|
|
<input type="hidden" name="cn" value="Napomena:" />
|
|
<input type="hidden" name="no_shipping" value="1" />
|
|
<input type="hidden" name="rm" value="1" />
|
|
<input type="hidden" name="return" value={return_url} />
|
|
<input type="hidden" name="cancel_return" value={cancel_return_url} />
|
|
<input type="hidden" name="shipping" value={deliveryCost} />
|
|
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted" />
|
|
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
|
|
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1" />
|
|
<input name="notify_url" value={notifyUrl} type="hidden" />
|
|
<input name="custom" value={deliveryDestination} type="hidden" />
|
|
</form>
|
|
</button>
|
|
);
|
|
},
|
|
_onPaypalClick: function(e) {
|
|
CartActions.changeDeliveryDestinationProperty('payment_method', 'paypal');
|
|
CartStore.saveDeliveryDestinationAnd(function() {
|
|
$("#paypal_form").submit();
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
module.exports = PaypalButton;
|