Advertisement
AidenBoyling

Untitled

Feb 28th, 2020
3,469
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.86 KB | None | 0 0
  1. let PayPalButton = paypal.Button.driver('react', {
  2. React,
  3. ReactDOM
  4. });
  5.  
  6. function getPayPalObject(amount, pkg, minutes, data = 0) {
  7. class PayPayMain extends React.Component {
  8. constructor() {
  9. super();
  10. this.state = {
  11. env: 'production',
  12. client: {
  13. sandbox: 'AdCF1QxvmKbvSsbZl058d6mjCKRpirgjpzE8Ahckhl8-JOxE1hsWuP0nTNwkqMYwE2fsRQ5y0rVcNzxu',
  14. production: 'AfdtzsdaKlWk9_fAAtA94cijtec2D22LStaqUwp9axTFeSHkEYXEglZi8sLtHwgkPa8N0ZUgqMV13sEm'
  15. },
  16. style: {
  17. size: 'small',
  18. color: 'blue',
  19. shape: 'pill',
  20. label: 'pay',
  21. tagline: 'true',
  22. fundingicons: 'true'
  23. },
  24. commit: true
  25. };
  26. }
  27. payment(data, actions) {
  28. return actions.payment.create({
  29. transactions: [{
  30. amount: {
  31. total: amount,
  32. currency: 'GBP'
  33. }
  34. }]
  35. });
  36. }
  37. onAuthorize(data, actions) {
  38. return actions.payment.execute().then(function (paymentData) {
  39. // Show a success page to the buyer
  40. var order = JSON.parse(localStorage.getItem('shoppingCart'));
  41. $.ajax({
  42. type: "POST",
  43. url: "checkout_process.php",
  44. data: {
  45. 'submit': 'true',
  46. 'fname': $("#fname").val(),
  47. 'lname': $("#lname").val(),
  48. 'email': $("#email").val(),
  49. 'phone': $("#phone").val(),
  50. 'hnumuber': $("#hnumuber").val(),
  51. 'addr1': $("#addr1").val(),
  52. 'addr2': $("#addr2").val(),
  53. 'postcode': $("#postcode").val(),
  54. 'order' : order
  55. },
  56. success: function (result) {
  57. console.log(result);
  58. if(result == "success"){
  59. swal("Thank you!", "Your payment has been processed successfully.", "success");
  60. shoppingCart.clearCart();
  61. }
  62. else
  63. swal("Alert!", "Your payment has been processed. But record was not added due to technical issue. Please contact the admin to process your order.", "warning");
  64. }
  65. });
  66. });
  67. }
  68. render() {
  69. return (
  70. React.createElement(PayPalButton, {
  71. commit: this.state.commit,
  72. env: this.state.env,
  73. client: this.state.client,
  74. style: this.state.style,
  75. payment: (data, actions) => this.payment(data, actions),
  76. onAuthorize: (data, actions) => this.onAuthorize(data, actions),
  77. onCancel: (data) => {
  78. console.log("Cancelled");
  79. swal("Payment Cancelled", "You have cancelled the payment.", "error");
  80. },
  81. onError: (err) => {
  82. swal("Error", "Sorry your payment couldn't be processed please try again.", "error");
  83. }
  84. }));
  85.  
  86. }
  87. }
  88. return PayPayMain;
  89. }
  90. var amount = shoppingCart.totalCart() + 2.20;
  91. amount = amount.toFixed(2);
  92. ReactDOM.render(React.createElement(getPayPalObject(amount, "Dummy", "123123"), null), document.querySelector('#page'));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement