um-cseg/chez-betty

View on GitHub
chezbetty/templates/user/deposit_cc_row.jinja2

Summary

Maintainability
Test Coverage
{% macro deposit_cc_custom(account, amount, balance, stripe_pk, class='') -%}
  {% set charge = (amount|float + 0.3) / 0.971 %}
  {% set fee = charge - amount|float %}
  {% set total_cents = (charge*100)|round|int %}
  {% set new_balance = balance|float + amount|float %}

  <tr class="{{ class }}">
    <td>{{ amount|format_currency|safe }}</td>
    <td>{{ fee|format_currency|safe }}</td>
    <td>{{ (total_cents/100)|format_currency|safe }}</td>
    <td class="cc-fixed-balance">{{ new_balance|format_currency|safe }}</td>
    <td>
      <form action="/user/deposit_cc/submit" method="POST">
        <input type="hidden" name="betty_amount" value="{{ amount }}">
        <input type="hidden" name="betty_total_cents" value="{{ total_cents }}">
        <input type="hidden" name="betty_to_account" value="{{ account }}" class="cc-betty-to-account">
        <script
          id="cc-script-{{ amount }}"
          src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="{{ stripe_pk }}"
          data-amount="{{ total_cents }}"
          data-name="Chez Betty"
          data-description="${{ '%0.2f'|format(amount) }} Deposit (${{ '%0.2f'|format(total_cents/100) }} Charge)"
          data-image="{{'chezbetty:static/chezbetty_1000px.jpg'|static_url}}">
        </script>
      </form>
    </td>
  </tr>

{%- endmacro %}