fix for international stripe fee token

This commit is contained in:
Nathan Coad
2016-07-22 16:02:23 +10:00
parent 07078de79b
commit 2cbfda6cf7
2 changed files with 12 additions and 6 deletions

View File

@@ -1045,10 +1045,11 @@ function _booking_total_due($person)
* *
* @param $person - the object relating to the registration node * @param $person - the object relating to the registration node
* @param $amount_paid - if we have previously calculated the amount paid, this can be passed as a value * @param $amount_paid - if we have previously calculated the amount paid, this can be passed as a value
* @param $include_fees - boolean to indicate whether we want the net amount or the amount owing including paypal fees * @param $include_fees - boolean to indicate whether we want the net amount or the amount owing including paypal or stripe fees
* @param $include_fees - boolean to indicate whether we want the fees for an international transaction
* @return amount owing as a decimal value * @return amount owing as a decimal value
*/ */
function _booking_amount_owing($person, $amount_paid = 0, $include_fees = TRUE) { function _booking_amount_owing($person, $amount_paid = 0, $include_fees = TRUE, $international_fees = FALSE) {
global $event; global $event;
//quick sanity check //quick sanity check
if (! $person->nid) { if (! $person->nid) {
@@ -1077,7 +1078,12 @@ function _booking_amount_owing($person, $amount_paid = 0, $include_fees = TRUE)
$amount_owing = _booking_add_paypal_fees($total_due - $amount_paid, $person->booking_country); $amount_owing = _booking_add_paypal_fees($total_due - $amount_paid, $person->booking_country);
} }
elseif ($payment_processor_type == 1) { elseif ($payment_processor_type == 1) {
$amount_owing = _booking_add_stripe_fees($total_due - $amount_paid, $person->booking_country); if ($international_fees == FALSE) {
$amount_owing = _booking_add_stripe_fees($total_due - $amount_paid, $person->booking_country);
}
else {
$amount_owing = _booking_add_stripe_fees($total_due - $amount_paid, 'FakeCountry');
}
} }
} }
//otherwise we're using manual payment processing so don't add any fees //otherwise we're using manual payment processing so don't add any fees

View File

@@ -439,7 +439,7 @@ function booking_token_info() {
); );
$info['tokens']['booking']['stripe-deposit-amount'] = array( $info['tokens']['booking']['stripe-deposit-amount'] = array(
'name' => t('Stripe Deposit Only'), 'name' => t('Stripe Deposit Only'),
'description' => t('The deposit amount required to confirm the registration including stripe fees.') 'description' => t('The deposit amount required to confirm the registration including stripe fees. These tokens are only used for display purposes, not in the actual calculations.')
); );
$info['tokens']['booking']['stripe-total-amount'] = array( $info['tokens']['booking']['stripe-total-amount'] = array(
'name' => t('Stripe Outstanding Balance'), 'name' => t('Stripe Outstanding Balance'),
@@ -634,8 +634,8 @@ function booking_define_personspecific_tokens($node)
$tokens['paypal-deposit-amount'] = _booking_deposit_amount($node, TRUE); $tokens['paypal-deposit-amount'] = _booking_deposit_amount($node, TRUE);
$tokens['paypal-total-amount'] = _booking_amount_owing($node, $amount_paid); $tokens['paypal-total-amount'] = _booking_amount_owing($node, $amount_paid);
$tokens['stripe-deposit-amount'] = _booking_deposit_amount($node, TRUE); $tokens['stripe-deposit-amount'] = _booking_deposit_amount($node, TRUE);
$tokens['stripe-total-amount'] = _booking_amount_owing($node, $amount_paid); $tokens['stripe-total-amount'] = _booking_amount_owing($node, $amount_paid, TRUE, FALSE);
$tokens['stripe-total-intl'] = _booking_amount_owing($node, $amount_paid); $tokens['stripe-total-intl'] = _booking_amount_owing($node, $amount_paid, TRUE, TRUE);
} }
if (variable_get('booking_enable_travelform', 0) == 1) { if (variable_get('booking_enable_travelform', 0) == 1) {