Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.81 KB | None | 0 0
  1. function isEuropean($country) {
  2.     switch ($country) {
  3.         case "AD":
  4.         case "AT":
  5.         case "BE":
  6.         case "BG":
  7.         case "HR":
  8.         case "CY":
  9.         case "CZ":
  10.         case "DK":
  11.         case "EE":
  12.         case "FO":
  13.         case "FI":
  14.         case "FR":
  15.         case "DE":
  16.         case "GI":
  17.         case "GR":
  18.         case "GL":
  19.         case "GG":
  20.         case "VA":
  21.         case "HU":
  22.         case "IS":
  23.         case "IE":
  24.         case "IM":
  25.         case "IL":
  26.         case "IT":
  27.         case "JE":
  28.         case "LV":
  29.         case "LI":
  30.         case "LT":
  31.         case "LU":
  32.         case "MT":
  33.         case "MC":
  34.         case "ME":
  35.         case "NL":
  36.         case "NO":
  37.         case "PL":
  38.         case "RO":
  39.         case "PM":
  40.         case "SM":
  41.         case "RS":
  42.         case "SK":
  43.         case "SI":
  44.         case "ES":
  45.         case "SJ":
  46.         case "SE":
  47.         case "CH":
  48.         case "TR":
  49.         case "UK":
  50.         case "MK":
  51.         case "PT":
  52.             return true;
  53.             break;
  54.        default:
  55.             return false;
  56. }
  57. }
  58.  
  59. // Set European pricing as default
  60. $stripe_percent = 1.4;
  61. $stripe_fixed = 0.2;
  62.  
  63. // Check if country of card is not European. If so, update pricing
  64. // $token is sent from your web page to your server when your user submits their card details
  65. if (!isEuropean($token.card.country)){
  66.     $stripe_percent = 2.9;
  67. }
  68.  
  69. // Amount you want to keep in pounds
  70. $amount_to_keep = 100;
  71.  
  72. $amount_to_charge = round(($amount_to_keep + $stripe_fixed) / (1 - ($stripe_percent / 100)), 2);
  73.  
  74. // Need to convert pounds to pence for API
  75. $amount_to_charge = $amount_to_charge * 100;
  76.  
  77. // Create the charge
  78. $charge = \Stripe\Charge::create(array(
  79.   "amount" => $amount_to_charge,
  80.   "currency" => "GBP",
  81.   "source" => $token
  82. ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement