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 $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
*/
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;
//quick sanity check
if (! $person->nid) {
@@ -1077,8 +1078,13 @@ function _booking_amount_owing($person, $amount_paid = 0, $include_fees = TRUE)
$amount_owing = _booking_add_paypal_fees($total_due - $amount_paid, $person->booking_country);
}
elseif ($payment_processor_type == 1) {
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
else {

View File

@@ -439,7 +439,7 @@ function booking_token_info() {
);
$info['tokens']['booking']['stripe-deposit-amount'] = array(
'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(
'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-total-amount'] = _booking_amount_owing($node, $amount_paid);
$tokens['stripe-deposit-amount'] = _booking_deposit_amount($node, TRUE);
$tokens['stripe-total-amount'] = _booking_amount_owing($node, $amount_paid);
$tokens['stripe-total-intl'] = _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, TRUE, TRUE);
}
if (variable_get('booking_enable_travelform', 0) == 1) {