Save and Verify the Card, Charge Later - Shopify - shopify

I'm setting up my first Shopify store and would like to offer a free trial of a product. The basic idea is the customer is shipped the product at no charge and has so many days to try out and return the product. If the product is not returned within the time period they are charged the amount agreed upon up front.
Within Shopify there is only the option to capture payment immediately or to authorize and then manually capture payment later (7 day auth limitation).
What I would like to do is validate the credit card, but not pre-auth, then the ship the product to the customer for try out. If they decide to keep the product then I charge them 30 days later as agreed by the customer.
The method I want to use with Shopify is the same as detailed by Braintree here
https://support.braintreepayments.com/customer/portal/articles/1080637-collect-payment-at-a-later-date-aka-extend-authorization-
in the section "Save and Verify the Card, Charge Later".

You can use the option as you see it: authorize and then manually capture payment later
As an alternative, you could always capture the money, and if they actually do return it, refund them the money. That is how all TV sales work and they make bazillions doing that, so why not follow their lead?

Related

Charge vs subscription with Stripe

I'm reading the document from Stripe and I have one point that is fuzzy on my side.
My customer are create in Stripe and automatically a subscription is attached to them. So in my case, each month they will be charge according to their subscription.
Now I read the documentation about the charge component and the documentation says:
To charge a credit or a debit card, you create a charge object..
Here my questions:
Do the subscription charges a customer too but each month ?
Who I can change the currency of a subscription to bill the customer in their currency ?
Thanks for your help.
Creating a subscription allows you to attach a plan to a customer so that they are billed automatically on each billing cycle (daily, monthly, etc.). On each new billing cycle an invoice is created that is then paid automatically which leads to a Charge. You can read more about this on Stripe's extensive documentation: https://stripe.com/docs/subscriptions/quickstart
As for the currency, you do not set it on the Customer itself. Instead the currency is associated to a Plan. You, as the developer, decide which Plan(s) to attach to a given subscription. You'd ask your customer which currency they want to pay in client-side for example.

Paypal Pro API for monthly payment with variable amount each month

I need suggestion for paypal pro API which allow me to pass variable amount each month. For some months,it can be zero too.
I tried with UpdateRecurringPaymentsProfile but it gives me error of 11592 (Subscription profiles are not supported for recurring payments).
Please someone help me with easiest solution.
Based on the error you mentioned it sounds like you're using a PayPal Standard Subscription button, not Pro. If that's the case, then as the error says, you cannot update standard subscriptions with the APIs. You would have to use the recurring payments API to create the profile in order to then update it.
That said, you won't be able to do variable amounts with recurring payments profiles. you can only raise them by 10% every 120 days, so that typically doesn't work with what you're trying to do.
Instead, you'll need to use reference transactions. So if you're using Payments Pro that will be real simple. You just pass in the transaction ID of an original authorization or sale transaction along with a new amount you need to charge. PayPal uses the card details on file to process the new amount.
If you're using DoDirectPayment then you'll use DoReferenceTransaction for the future payments. If you're using PayFlow you would use the PayFlow API, of course, and change the parameters to match a reference transaction request.
You can also do the same thing with PayPal Express Checkout, but in that case you'll need to include billing agreement parameters in the SetExpressCheckout request, and then you'd use the billing agreement ID you get back from that in the DoReferenceTransaction request.
In any case you'll need to build your own script to run everyday, pull profiles that need to be charged, and charge them accordingly.

Paypal API and automated refunds

I would like to inquire about this:
https://developer.paypal.com/docs/classic/express-checkout/ht_basicRefund-curl-etc/
How to initiate an automated refund based on a product ordered that is out of stock.
Example:
Customer A goes to our website and orders product A. Product A is unfortunately out of stock but we did not notice it right away(restaurant). Instead of refunding people manually, can this API refund the person automatically based on a call back from our website.
Also when a refund is given, is there a charge?(Charge back), if yes, where can I find out about the cost per charge back.
Finally, how long does it take for the refund money to reach the customer's account if the refund is initiated let's say 5 minutes after the sale.
Thank you,
Regards,
Ben
ps: I am posting the query here as I was sent to this website from the Paypal support page.
You could do this using the RefundTransaction API from within an IPN script.
A general refund is not considered a chargeback. That only happens if you refuse to provide a refund for your buyer, so then they end up filing a dispute with their credit card company. The card company would then give them the money and take it from PayPal, who would then come back to you for it. That's when you would have to pay a fee for that chargeback. If I remember correctly that fee would be $25 for such a scenario.
So the refunds wouldn't be a chargeback, but you would lose the 30 cent transaction fee you pay when you do the original transaction. PayPal refunds you the percentage they take, but not the flat 30 cents.
Also, if this is something happens a lot PayPal may limit your account or it could cause you other little problems. Lots of refunds could mean upset customers, and PayPal doesn't want that...and neither should you.
So, all of that said, what I would recommend is that you handle the inventory control before the purchase is made. You're saying you could hit your database to check inventory and then automatically refund, right? Why not hit your database to simply disable the product purchase if the inventory is low instead?

Shopify / Paypal Express: Shipping cost not showing until after payment

Ok so I got the following problem with my Shopify shop: Because my shipping varies based on weight paypal does not show the shipping rate until after the customer has logged in and paid for it. It then gets send back to Shopify where it receives the message that it will be billed an additional $10 for shipping, which already got me some complaints.
So what I want is that it will already shows the shipping cost before the customer logs in and pays for it. I imagined that more people had this problem and perhaps found a solution to fix this?
Thank you
There are a number of ways to handle this with the PayPal system, but I'm not sure if Shopify is open enough for you to make any changes. You'll probably need to ask them how it's configured and see if you have any option to adjust it.
The standard flow for Express Checkout is that you would show the user their cart and any fees you've gathered at that point so you can generate the subtotal. Then you send them over to PayPal where they login and agree, and are then sent back to your site. Back at your site you would obtain the shipping address from PayPal and you could then display a final review page that breaks down any additional shipping, tax, etc. that might be applied now that you know their shipping address. No money would actually be charged until they approve this final review page.
In order to skip the additional review page on your own site, PayPal introduced the Instant Update API a few years ago. This gives you the ability to generate a web service that PayPal's review page will call and send the shipping address so that the service can calculate shipping and tax and return it back to PayPal. The PayPal review would then update accordingly so the buyer can choose their shipping option and see the grand total on the PayPal review page. That way they can finalize and would still be returned to your site, but you wouldn't need to show another review. You could simply show the thank you / receipt page.
I'm not sure if that first method I outlined is in fact what you're getting..?? It sounds like you're saying that Shopify is skipping the extra review, finalizing the payment, and then simply notifying the user that more money was charged than they agreed to. If that's the case, I would say that's very sloppy checkout design.
Again, though, as Shopify is a hosted solution, you probably won't have the ability to adjust this on your own. It's possible they have the Instant Update API available, though, and maybe you just need to enable it..??
You'll need to check with them for more details about your options.

Parallel credit card payments (akin to Paypal Adaptive payments)

I'm not sure this is the right place to ask but anyway:
I have an e-commerce platform that I want to monetize based on a percentage of revenue made (eg. a store that uses my platform has an order for $100, so I get 1% or $1, while they get $99).
Currently I offer paypal and credit card payments (via my merchant bank) to all stores on the platform (ie. all payments made, regardless of the store, are through the same paypal and merchant account). I then pay these stores per month which is ok for the moment because there are only a few stores using the platform.
Moving forward I want to automate this process and ideally have it operate in real time.
Paypal have an "Adaptive Payments" API that allows chained or parallel payments on a single transaction processed in real time. This means I can skim my 1% and pass the rest of the money along my customer in real time.
I was wondering if there is a similar real-time service for Credit Card processing*? If not, is there a bank/merchant that allow API payment access so I can automate payments per day or week? OR should I just transfer all money from my bank to paypal and use this to pay my customers?
*I realise you can process credit card payments through Paypal without having to sign up, but this is less than ideal. I want the credit card processing to happen on my page as at the moment I'm seeing about 70% of orders using this over paypal.
I was wondering if there is a similar real-time service for Credit Card processing?
No there isn't. True merchant accounts do not allow for split payments. Only one entity can receive a payment and it must be the business the merchant account has been set up for. Receiving the payment for someone else is called factoring and is against all of the major credit card issuers' rules. If a merchant account is found to be factoring it will be closed and the merchant who owns the account will be blacklist. This will prevent them from ever having a true merchant account again. Additionally, there is no way to send money with a merchant account other then issuing a refund for prior purchases.
If not, is there a bank/merchant that allow API payment access so I can automate payments per day or week? OR should I just transfer all money from my bank to paypal and use this to pay my customers?
Other then using adaptive payments, this is definitely the easiest and most straight forward way to accomplish this.