Commit Graph
180 Commits
Author SHA1 Message Date
Raphael Michel f2844ac686 Add expiry dates and individual conditions to gift cards (#1656)
* Add expiry dates and individual conditions to gift cards

* Display refund gift cards with more details and prettier interface

* Allow to set gift card expiry and conditions when cancelling event

* Extend gift card search

* Fix #1565 -- Some gift card filters

* Improve list of gift cards

* Allow to edit gift cards

* Note on validity
2020-04-21 15:57:02 +02:00
Raphael Michel b02196434b Re-compute fees after applying a giftcard 2020-04-01 17:09:58 +02:00
Raphael Michel 0928358396 Fix > vs >= in gift card message 2020-03-29 13:53:58 +02:00
Raphael Michel 3eafec9d6e Allow customers to choose to receive their refund as a gift card (#1626)
* Minor text adjustments

* Allow users to receive their cancellation as a gift card
2020-03-25 11:41:40 +01:00
Raphael Michel af23d6e4bf Upgrade to Django 3.0 and other dependencies (#1568)
* Upgrade Django to 3.0 and other dependencies to recent versions

* Fix otp version contsraint

* Remove six dependency

* Resolve some warnings

* Fix failing tests

* Update django-countries

* Resolve all RemovedInDjango31Warnings in test suite

* Run isort

* Fix import

* Update PostgreSQL version on travis
2020-03-23 15:02:20 +01:00
Raphael Michel 9c2af952b7 Fix another empty sequence error 2020-02-17 14:00:15 +01:00
Martin Gross 242dd24caa Fix hiding of payment methods 2020-02-06 10:53:02 +01:00
Raphael Michel 3b4923ccae Fix required field 2020-02-05 18:34:58 +01:00
Raphael Michel 8a2e4385ff Fix required field 2020-02-05 18:33:40 +01:00
Raphael Michel e83b8ac218 Allow to hide payment methods behind a secret link 2020-02-05 18:09:27 +01:00
Raphael Michel da68cb618e Improved logging and transaction handling around payment confirmations 2020-02-05 12:02:02 +01:00
Raphael Michel 889dd651ef Add BasePaymentProvider.matching_id() 2020-01-27 21:46:36 +01:00
Raphael Michel 5462e256ac Allow to create a new gift card when refunding 2019-11-28 13:50:10 +01:00
Raphael Michel 46d4d97c13 Add BasePaymentProvider.refund_control_render 2019-11-28 13:50:10 +01:00
Martin Gross bab27f5ab6 Respect payment-saleschannel restrictions also on order change 2019-11-20 17:18:51 +01:00
Raphael Michel 00798d9207 Payment providers: Add priority flag 2019-11-15 09:29:38 +01:00
Raphael Michel 339d7f06ed Payment provider API: Add method cancel_payment 2019-11-14 10:39:54 +01:00
Martin Gross 6896682dd1 Restrict Payment Providers to Sales Channels (#1481)
* Allow to restrict payment providers to specific sales channels

* Fix test

* Add `payment_restrictions_supported`-property to SalesChannels
2019-11-12 17:11:43 +01:00
Raphael Michel da7e1dee3e Offset refunds: Catch exceptions in the right place 2019-11-10 12:59:10 +01:00
Raphael Michel 8f112f8d9a Pass cart positions to fee_calculation_for_cart 2019-11-04 11:00:48 +01:00
Raphael Michel e8a2f7e349 Collapse gift card option when the gift card is not enough 2019-10-18 18:18:45 +02:00
Raphael Michel 8fe9b35dea Add more tests 2019-10-18 15:12:26 +02:00
Raphael Michel f8433b5cc9 Add some tests 2019-10-18 13:08:25 +02:00
Raphael Michel 1fe93ac6b7 Do not allow to pay gift cards with gift cards 2019-10-17 18:12:06 +02:00
Raphael Michel 4b2f25ce8a Add testmode for gift cards 2019-10-17 18:05:04 +02:00
Raphael Michel ac212b798d Remove unneeded settings 2019-10-17 16:04:22 +02:00
Raphael Michel 9842fcf7da Allow order change 2019-10-17 16:04:22 +02:00
Raphael Michel e97ae04581 Helpful error messages 2019-10-17 16:04:22 +02:00
Raphael Michel 346f215c50 Refator payment provider, deal with cancellations 2019-10-17 16:04:22 +02:00
Raphael Michel f22d5915ea Handle refunds 2019-10-17 16:04:22 +02:00
Raphael Michel db71ec92be Payment step 2019-10-17 16:04:22 +02:00
Raphael Michel ed370fa913 Proof of concept 2019-10-17 16:04:22 +02:00
Raphael Michel 7fb77eef34 Offset payment provider: Ignore payment term 2019-10-17 10:13:56 +02:00
Felix Rindt 39eaf3ad6a Code style improvements (#1411)
* docstring corrections

* move omit_hyphen formfield
2019-09-20 09:34:24 +02:00
Raphael Michel aa99dbc830 Add payment provider specific details to the API 2019-08-30 17:04:22 +02:00
Raphael Michel c1a4b8d343 Payment provider API: Add payment argument to render_invoice_text and order_pending_mail_render 2019-07-09 16:13:37 +02:00
Raphael Michel a5e2caf438 Consistently include other fees in percentual payment fee 2019-07-04 09:31:21 +02:00
Raphael Michel d395db8142 Box office payments: Always display device and receipt ID 2019-04-05 14:40:58 +02:00
Alvaro Enrique Ruano 8cfc8bc152 Correct documentation for payment forms (#1209) 2019-03-14 09:43:05 +01:00
Martin Gross 0365a1c68d Show SumUp payment details for boxoffice transactions 2019-03-12 14:20:45 +01:00
Raphael Michel 67059fe323 Add a simple test mode (#1181)
- [x] Provide data model and configuration toggle
- [x] Allow to delete individual test orders
- [x] Add tests
- [x] Add a prominent warning message to the backend if test mode orders exist (even though test mode is off), as this leads to wrong statistics
- [x] Decide if and how to generate invoices for test orders as invoice numbers cannot be repeated or should not have gaps.
- [x] Decide if and how we expose test orders through the API, since our difference pull mechanism relies on the fact that orders cannot be deleted.
- [x] Decide if and how we want to couple test modes of payment providers?
- [ ] pretix.eu: Ignore test orders for billing
- [ ] Adjust payment providers: Mollie, bitpay, cash, fakepayment, sepadebit

![download](https://user-images.githubusercontent.com/64280/53009081-fe420d80-343a-11e9-8361-b8511c988598.png)
2019-02-20 17:51:26 +01:00
Maximilian Hils 14cc31c810 Fix payment instruction display. (#1161) 2019-02-07 14:30:26 +01:00
Raphael Michel b8669503fa Only allow restricting payment countries if invoice address is obligatory 2018-10-31 15:21:26 +01:00
Raphael Michel e60ff6b777 Allow to store strucutred SEPA bank transfer details 2018-10-24 00:21:33 +02:00
Raphael Michel 06d9c48ed4 Allow to restrict payment methods by invoice address country 2018-09-19 16:10:40 +02:00
Raphael Michel e537e4538a Fix limits for manual payment 2018-08-31 13:06:13 +02:00
Raphael Michel b5cd3bf0af Do not send paid email for free orders 2018-08-21 11:03:56 +02:00
Martin Gross a4ced609cd Stripe: ApplePay/Payment Request Button (#988)
As discussed, this is a WIP for integrating Stripe's Payment Request Buttons (with also includes the ApplePay-Button on iOS-devices).

Todos:
- [x] Payment Request Button is still displayed, even when a card has already been tokenized (when going back in the order-flow)
- [x] The domains used need to be verified using the Stripe API to enable ApplePay: https://stripe.com/docs/stripe-js/elements/payment-request-button#verifying-your-domain-with-apple-pay
- [x] Migration: Get the account-country for existing Stripe Connect users
- [x] Migration: Verify the domains using the above mentioned API for existing users
- [x] Converting the chargeable amount is not right for non-decimal currencies like JPY

Other considerations:
- On iOS-devices using Safari (probably also on MacBooks, etc. - not tested), the [regular payment request button](https://user-images.githubusercontent.com/157270/38515749-f53f8392-3be9-11e8-8917-61ef78dd354a.png) is automatically replaced with a [buy with Apple Pay button](https://docs-assets.developer.apple.com/published/094d0eb90e/988c36a8-a43c-4ff9-85ef-beda16c4b7c9.png).
- On all other platforms, the generic payment request button is displayed. Even if the device supports a specific payment provider like Google Pay, Microsoft Wallet, Samsung Pay, etc., the generic button will first offer the cards saved within the webbrowser in addition to the other payment methods. Only upon selecting the specific payment provider like GPay, the corresponding payment flow is started.
- Right now, the rendering of the payment button is completely in the hands of Stripe. Once pretix takes on the task of doing this, we should try to detect if the browser supports well known payment methods like GPay in addition to the browser-saved cards. If that's the case, we should add the corresponding marks onto the "Pay Now"-Button (like [this](https://developers.google.com/pay/api/images/brand-guidelines/google-pay-mark.png), [this](https://assets.pcmag.com/media/images/490984-samsung-pay.png?width=1600&height=900), or [this](https://www.firstffcu.com/images/MS-Wallet_stacked_rgb_grey.png)), so the customer can identify the purpose of the button easier.

- [x] Also, all of this is still based against the pretix 1.x codebase ;-)
2018-08-15 09:22:31 +02:00
Raphael Michel 0c0172a0b6 Fix inconsistent checks in order offsetting 2018-08-07 15:45:22 +02:00
Raphael Michel 18a378976b Fix #571 -- Partial payments and refunds 2018-08-06 12:24:36 +02:00