Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function isEuropean($country) {
- switch ($country) {
- case "AD":
- case "AT":
- case "BE":
- case "BG":
- case "HR":
- case "CY":
- case "CZ":
- case "DK":
- case "EE":
- case "FO":
- case "FI":
- case "FR":
- case "DE":
- case "GI":
- case "GR":
- case "GL":
- case "GG":
- case "VA":
- case "HU":
- case "IS":
- case "IE":
- case "IM":
- case "IL":
- case "IT":
- case "JE":
- case "LV":
- case "LI":
- case "LT":
- case "LU":
- case "MT":
- case "MC":
- case "ME":
- case "NL":
- case "NO":
- case "PL":
- case "RO":
- case "PM":
- case "SM":
- case "RS":
- case "SK":
- case "SI":
- case "ES":
- case "SJ":
- case "SE":
- case "CH":
- case "TR":
- case "UK":
- case "MK":
- case "PT":
- return true;
- break;
- default:
- return false;
- }
- }
- // Set European pricing as default
- $stripe_percent = 1.4;
- $stripe_fixed = 0.2;
- // Check if country of card is not European. If so, update pricing
- // $token is sent from your web page to your server when your user submits their card details
- if (!isEuropean($token.card.country)){
- $stripe_percent = 2.9;
- }
- // Amount you want to keep in pounds
- $amount_to_keep = 100;
- $amount_to_charge = round(($amount_to_keep + $stripe_fixed) / (1 - ($stripe_percent / 100)), 2);
- // Need to convert pounds to pence for API
- $amount_to_charge = $amount_to_charge * 100;
- // Create the charge
- $charge = \Stripe\Charge::create(array(
- "amount" => $amount_to_charge,
- "currency" => "GBP",
- "source" => $token
- ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement