No credit memo button available if the end price if 0 - php

I'm trying to convert a magento instance from a b2c platform to a b2b platform.
I'm having issues with a particular part of magento.
When an order with the final price of 0 is issued, I have no credit memo button available.
The order is issued from the back-end and in the Payment Method Field the massage is
No payment Methods.
This is actually logical because there is no amount of payment to be refunded.
But the thing is that the product, although it does not cost the customer anything to buy, it actually leaves my stock.
The first question is, if this is a normal behavior for magento of is something broken on my end?
The end goal is not to refund my customer's money but to get the product in my stock again.
If this in normal for a magento instance, is there any other way to force a payment method when the order is issued so that the credit memo button will be available and later down the refund process, will let me get the product back in stock?

Related

Unable to add multiple variable subscription products in WooCommerce in Cart

FYI - The below mentioned process works perfectly fine on localhost (local env) but not on our server.
I'm developing a feature called "Home Try On" where we are allowing the customers to buy two pairs of shoes at the same time at the cost of one, but if customer fails to return the product then we would be deducting the cost of the other product using Recurring Payment Method. So, to ease out the process we purchased "WooCommerce Subscriptions" but it's not allowing the customers to add multiple products.
Here is an example scenario of actual work flow - We have kept all the Home Try On products as Variable Subscription products
Customer visits the website
Customer goes to Home Try On Section if he/she is unsure of their shoe size
Customer selects on Product let's say it as X Product and selects one pair (Size 6) and adds to cart, now we want the customer to add another pair of X Product (Size 7) but the problem is it's now allowing to add multiple variable subscription products and throws an error "A subscription has been removed from your cart. Due to payment gateway restrictions, different subscription products can not be purchased at the same time."
Can someone help me out on this? We purchased the WooCommerce Subscription plugin because it mentioned multiple subscriptions are accepted. It stated:
Your customers can also purchase different subscription products in
the same transaction and Subscriptions will group the products to
reduce the payment gateway fees and logistical overhead for their
future renewals.
Can anyone please point me in the right direction please?
Regards,
Piyush
For anyone that finds this question:
You haven't activated stripe yet. As the subscriptions plugin needs stripe woocommerce needs to have stripe activated!
it is free. just go to stripe and create an account. there you get two keys that you can use on your side.
hope this helps someone

WooCommerce - pay order with multiple payment methods at same time

I want to know if there is a way to customize WooCommerce such that the clients could pay the same order with multiple payment methods at the same time?
For example, if one order is worth $100, I want to allow clients to pay $25 with a Visa card, then $75 with a Discover card. So the general idea is to pay one order (don't checkout multiple times), but use more than just one payment method.
I assume there is some way to personalize something, but I want to know where/how to get started with it.
EDIT 1
Just adding a new payment gateway (custom) does not solve the issue. I know how to create a custom payment gateway.
The issue is: how do I allow on ONE checkout for ONE order to get the payment out of 2 or more sources at the same time? For example: $175 cashed in as $50 PayPal + $100 Visa + $25 MasterCard.
There are many clients who would love to have this option, and pay with more cards at the same time!
So, this is not one of those obvious questions as how do I create a custom payment gateway? - that is something easily achievable without spending too much time on it. The multiple payment on same checkout, however, proves to be lengthy / not discussed (I've researched many articles, forums, etc.)
What I would do is to create a custom payment gateway, and in that gateway, create interfaces for ALL the payment methods you want to use.
I would say use something like Stripe for all the CC and then PayPal - that way you will have only two separate ones to handle.
You need to put in an option to pay X amount on each payment gateway on the Checkout screen.
Then in your plugin when someone partially pays, create a coupon for the amount of the partial payment using the Coupon API and apply that.
You will also need an Order Status of Partial Payment or something. You would also need to redirect back to the Checkout page if the order isn't completely paid, instead of the Order Success page.
It's pretty complicated to do this right.
Workaround: You can purchase a gift card on our site for any amount with one credit card. You can then use the gift card and then use another credit card for the balance.
Example: Total price $450
Gift card purchase (Card "A"): $400
Credit Card balance (Card "B"): $50

How to upload cart that contains both single payment items and installment items

I wrote my own shopping cart [in PHP] a couple of years ago that uses PayPal's Classic API "Payments Standard" -- specifically the "upload" command to send the contents of the shopping cart to PayPal. Now I want to add the option to pay for an item with installments and I want that to integrate with the shopping cart process.
In other words, I want the customer to be able to put Item A into the cart and select a single payment option, and then also put Item B in the same cart but select an installments option for that item. Then, when they hit the "Check Out With PayPal" button, I want the Item A and Item B to be processed in the same transaction. My cart also has a feature that allows the customer to enter a coupon code.
I have spent hours running in circles though the PayPal API documentation and I can't find a solution that seems to cover everything that I need:
No monthly payment (I'm too small to absorb monthly payments, so it must be a fee-per-transaction service).
Ability to process single payment items AND installment items from the same cart.
Ability to accept a discount/coupon and apply it to the transaction at the PayPal side.
All collection of payer's shipping address, payment information, etc, done at the PayPal side.
Determine if sales tax is required at the PayPal side.
Provide an IPN type response.
I'd rather not install code on the server [that needs to be maintained or reinstalled if I switch hosts].
Can anyone point me to a solution that could cover all of this?
I was looking at the Adaptive Payments solution but it looks like it I would have to determine whether to charge sales tax (and perhaps have to collect the payer's shipping address info, which I want to avoid). I like everything else about Adaptive Payments. Does anyone know if it will be as "nice" about handling the payer's information, as "Payments Standard" does?

Magento secure trading payment method need to hold a payment option

In my magento store have many customers. I want to offer my old customer with this special option.
(i.e) No need to pay at the end of the sale. They can pay later with their outstanding invoices by online mode. Is there any possible to set this option with magento store.
I m using Secure trading payment gateway.
Thanks
Yes, You could implement payment method for special customer group and this payment method Will only generate invoice for the sales order and set its status to Pending.
Then you will do another module that add tab to the customer account page ( for example Pending Invoices ), And this module generate payment form based on invoice/order data and when they pay it you mark the invoice as paid and captured.
Its straight forward concept if you know that Magento Invoices has Statuses ( Paid, Pending, Canceled ) And you can check the invoices from sales->invoice ( just like the orders !)

Magento - Create credit memo / refund programmatically through code

Is there any way of creating a Credit Memo / Refund dynamically through code. I am aware of the fact that Credit Memo can be created using back-end functionality on an invoice but I would like to create a credit memo for a specific order separately based on the following requirements
For selected items
Deduct the shipping cost from the refund
Updating the Stock Qty back
Contacting my payment gateway to perform this refund and transfer the money back into customer's account
I have Sagepay module installed as well for payment purposes and the Refund happens fine using Magento's in built functionality and Sagepay together. But I would like to create a Refund when a customer after shipment asks for refund for few items or all items of a order.
I have created a custom module and am calling a function to perform the refund action. So on call of this function I want to dynamically create Refund for selected items and contact Sagepay to perform the refund transaction for the customer and Magento to update the stock back.
I would just like some help on the starting bits as to where to look for the code and how to combine Sagepay's refund functionality along with Magento's in built one in my module's function call etc ?
Any help is appreciated. Thanks in advance.
I have found an API(see link below) for creating credit memos.
http://www.magentocommerce.com/boards/errors.php/viewthread/215141/

Categories