I'm using Gravity Forms with the Stripe add on.
The customer can pick to pay the total in full or over 3 months. When paying over 3 months, the form uses a subscription feed which is then automatically cancelled after 3 payments.
When paying the full amount, Stripe processes the payment perfectly. When selecting to pay over 3 months, it only works when the total amount is an integer e.g. £136. If the total amount is something like: £136.67, it fails and I get the following validation error:
This value must match the regex pattern. (/\A[a-zA-Z0-9_-]+\z/ does not match for the value payover3months_3_1month_136.67).
Can Stripe not process subscriptions unless it's a whole number?
It's also worth noting that I'm using the Ecommerce Gravity Wiz Perk.
The following fields are in use when paying over 3 months:
Subtotal
Tax (3%)
Discount (66.66%)
Total
The form will be working out: Subtotal + 3% Tax - 66.66% Discount = Total. The Discount is in place to divide the subtotal by 3.
It looks like I was running an older version of the Gravity Forms Stripe Add On (2.5). Updating to 2.5.4 addressed the issue.
Gravity Forms support informed me that minor updates are not available for automatics updates via WP Admin. This means you'll need to follow these steps to update:
Select the "Deactivate" option for the plugin you're trying to
update
Select the "Delete" option for the plugin you're trying to update
Answer yes when prompted to delete the files. This step deletes the
plugin's folder and the files inside.
Select the option to "Add New" plugin
Select "Upload"
Browse to the location where you saved the newly downloaded zip file
and select it
Click "Install Now". You should see the message "Plugin installed
successfully." This step recreates the plugin's folder and the files
inside.
Click "Activate Plugin"
It's important that you DO NOT use the Uninstall [plugin] button in the Forms > Settings area - this will remove your data.
Related
I am using django-stripe to generate Stripe Checkouts.
I would like to pass the Stripe fees on to my customers ("surcharging").
I found a help article from stripe regarding this. It says in general how to calculate the fees to put on top of the price of the product.
The problem is, that different payment methods have different fees.
And when creating the Checkout, I must calculate the final price (including the fees I want to pass on) before I know what payment method the customer will select (and therefore what fees the customer will have to pay).
So I don't know the fees when I must put them on top of the price the user has to pay in the Checkout.
Is there a way out of this dilemma?
Unfortunately there isn't a way to dynamically change the price based on the payment method presently. You must specify the amount to be paid prior to redirecting your customers to the Stripe Checkout interface.
You could create make your users select a Payment Method prior to redirecting them to Checkout (restricting the payment_method_types to their selection) and adjust the price based on their chosen Payment Method. But that requires a lot of work on your side and loses some of the nicest features of Stripe Checkout.
Possible refresh frequency in Google Data Studio:
15 Minutes
1 Hour
4 Hours
12 Hours
Custom, however at least once every 12 hours
Can I disable refresh on my Datasources or make them less often?
The thing is that during the updating of data extra money is spent, and I would like this does not happen.
So, the possible solution is to create 'extracted data' from an existing data source.
Follow these steps:
Go to your Google Data Studio dashboard
Add new data source, you need 'Extract Data' in the connectors list
Select an existing data source to extract from
Select the dimensions and metrics to extract by dragging them from the Available Fields list onto the targets, or by clicking Add. All the fields you add appear in the list on the far right.
Click 'SAVE AND EXTRACT'
Here's the link
https://support.google.com/datastudio/answer/9019969?hl=en
I am currently working on a django project and I integrated stripe to manage monthly subscriptions and renew automatically. Everything is working fine but a problem persists.
I have a page to change payment information for a subscriber. For the sake of simplicity, when his card is updated, I recreate a new subscription and delete the old one.
If, for example, he has a reduction of 3 months and he has 1 month left, how to take his current reduction voucher and reintegrate it into the new subscription without restarting the period from zero?
here is the subscription creation code, when the user registers for the first time, it integrates the promo code ID if there is one. It works very well :
obj_sub_created = stripe.Subscription.create(customer=stripe_customer.id,coupon = discount_code,items=[{"plan": offer.stripe_plan_id
when a subscriber changes their credit card, I cancel their subscription and recreate a new one. At this moment of the code, I know if there is a current and valid reduction. So I try this:
stripe.Subscription.delete(subscription_id)
obj_sub_created = stripe.Subscription.create(customer=stripe_customer.id,items=[{"coupon": discount}])
The discount variable is a copy / paste json of what stripe returns to me. But it does not work.
Would you have a solution to resume a promotion where she was on a new subscription when changing your credit card ?
thank you very much for your answers
im working on an integration between our company systems and NetSuite using PHP. Before the newest release of the NetSuite platform we were able to partially apply an existing credit memo to an specific pending invoice, but since their last release a couple of weeks ago every time we try to apply the credit to an specific invoice through our middle PHP system, it also applies all the other pending invoices in the account.
Let me specify a little more:
We have customer accounts, every account can have any number of open invoices. Lets say we have 3 invoices in the account 1. The first is for $20, the second for $30 and the last for $25. Then we create a credit memo associated to the account 1 for $75.
Then a week later we want to kill the first invoice of the account 1, the one with the $20 value. Then we command the credit memo to kill that invoice through our system. That would mean the first invoice is cancelled, we used $20 from the $75 we had in the credit and we still have $55 without use. Right?
Well, now for some reason the credit kills all the 3 invoices the account 1 had pending, even though we specify that only the first one should be applied. That consumes all the $75 of the credit memo, which of course messes up our accounting and prevents us from using it later in other invoices as we need it.
Just a few more points:
We are uploading our credit memos with property "autoapply" set on false.
When we want to apply an invoice we set its "apply" property as true and the ones from the other invoices as false, then we make an update request for the credit memo with that info. Thats how we always did it but now for some reason it doesnt works.
Sorry if its a little long, but i wanted to be really specific. If you have had a similar problem or have any insight on the matter i would greatly appreciate any help you can give. Thanks.
One suggestion you can try as I have experienced this as well. I had an issue where the user whose log in I was using for the integration entered a new credit memo, checked the box to auto apply and from then on every CM I imported through web services auto applied and did not respect the Auto Apply setting I submitted.
Log in as the user that you are authenticating with for the integration. Open a new credit memo and see if the Auto Apply check box is checked by default. This is a "sticky" setting in NetSuite. Enter a new CM As the user with the box unchecked and then delete it if you like. When I did this it stopped checking the box automatically and my CM import worked as expected again.
I want to add our custom amount in total cart amount during checkout or payment in prestashop in custom payment module. And so can i change cart amount during checkout or payment in our custom payment module in prestashop?
There are three options I spontaneously know about:
Use an already available module for such purpose. In this case, there is in example the Additional Payment Fees module (which I use in production in a PrestaShop installation myself).
Write an additional module which can apply configurable fees on selectable payment options. This might be the favored option and bases on the same principles as the next.
Make your payment module use a specific cart rule.
I checked it again and cart rules do not appear to be a good idea for adding fees rather than discounts. In fact, the PrestaShop Back-Office does not allow to set up cart rules with negative "discounts".
These are the things to take care about:
Its best to add the fee distinct from the actually purchased products and eventual shipping costs to maintain transparency towards the customer. This might not be a technical detail, but valuable concerning user experience.
Display the additional fees for a payment type on the cart page. The hookdisplayShoppingCart or displayShoppingCartFooter is suitable for that. These hooks can also be used to initiate calculation of payment fees and storing them in association with the cart because calculation is necessary only when the customer is confronted with the choice of payment: in the cart.
Create an additional column in the cart table or alternatively a dedicated table which holds the fee information for each cart. This information must be stored permanently as it is necessary even after finished order.
Getting the cart's total value is easy: $this->context->cart->getOrderTotal(); - but keep in mind that this includes tax (provide false as first parameter). I am not sure about whether such fee must be applied to the net or gross value of the cart.
They must be visible on the invoice, too. In that case the displayPDFInvoice hook is suitable for inserting additional information into the invoice PDF.
I am sorry I did not find yet how to finally apply the fee to the cart for checkout but I hope it helps if I point into the direction of tax rules, which you could leverage programmatically for each order.
Sources
PrestaShop 1.5 documentation about hooks
PrestaShop 1.5 documentation about tax rules
PrestaShop 1.5.6.2 Cart class