I have stuck into the problem of related to transfer amount back to credit card from paypal when user cancel his/her transaction. I don't want to use paypal refund feature in our application. My client requires to send back amount at the same time when user cancel his/her transaction.
Can anyone guide me to complete this feature or is there any API to solve such type of feature.
Thanks in advance.
Dewan
I don't want to use paypal refund feature in our application. My
client requires to send back amount at the same time when user cancel
his/her transaction.
How PayPal Refunds
You don't want to use PayPal's refund feature, but you want to send money back to the buyer? This is called a refund. I am sure you are mistaking how PayPal refunds money. If the user pays with a credit card, they are refunded to their credit card. If they pay with a bank account or PayPal account, they are refunded to their PayPal account.
API calls that refund buyers
DoNonReferencedCredit would refund to a credit card you specify, everytime, and you do not need a transaction ID.
In a scenario where the buyer no longer has a card that was
associated with a transaction, or the time allotted for a refund in
PayPal has passed, you would want to use the DoNonReferencedCredit
API.
RefundTransaction would refund the funding source as described in the "How PayPal Refunds" paragraph.
If your main concern is to issue a refund, via API, you have a transaction ID (you say a payment has been completed so you should have a transaction ID), AND PayPal's refund time has not passed, you should use the RefundTransaction API.
You might be able to use something like DoNonReferencedCredit from the paypal API - but I'm not 100% sure on that.
Related
Sorry if this question is stupid, but:
Why we should use web-hooks for payments if paypal responds with correct statuses and information about payment, payer, sale etc. when we create payment via REST PaymentAPI. The same with payouts. Probably I don't know something?
The user (purchaser) has the option of using funds from his/her PayPal wallet (PayPal funds), linked credit card(s), or linked bank account(s). Just because the payment has been executed does not mean the funds have been transferred, especially in the case of linked bank account(s). Funds from a checking account, etc. can take several days to transfer.
I am trying to prevent paypal for allowing a payment I have created.
The scenario:
My App is creating a Payment. I get the payKey from PayPal and the Customer is redirected to PayPal.
When the Customer is not able to finish the Payment after 2 minutes I will delete the Order for him and then - if possible - I will force Paypal that the payment is not active anymore and the customer is not able to pay after these 2 minutes. For this I have to do at least of this:
send Paypal the payKey and tell Paypal: Do not allow to pay with this payKey! Just "Delete" the information for this order
after the customer paid - but after 2 minutes, so the order is deleted - I will tell Paypal the payKey and a refund has to be done right after the customer has paid. This is no problem I thought but because its an AdaptivePayment and chained paypal is not allowing me to refund the money because every receiver in the refund receiverList needs permissions to allow a refund by API Call.
So my question is:
Is it possible to prevent a Payment with an API call ? I did not find any information in the REST API Reference of PayPal.
The payKey cannot be deleted or change the expire duration. You can use delayed chained payment with IPN. You are the API caller and primary receiver, compare the transaction complete time with the paykey generation time to decide refund or pay secondary receivers.
I was wondering, under PayPal chained payments if I could be a secondary receiver and not receive paypal disputes?
Let me explain more:
Say I have a buyer and a seller and me.
I want the buyer to buy directly from the seller who will have a paypal account and automatically I will receive some commission from that payment. However, I do not want to be the one the payment is made to as I do not want to be involved in disputes so I was wondering if there is a way to do this?
Sure. Have them authorize your API user ID to run calls on their behalf. Then you pass their primary email address as an argument in your calls and do your chained payment. You still get paid but they would "own" the payment. The downside is that if they lose the dispute, I bet they deduct form your account too...
I am working on one website which has 2 mode of payment for already generated invoice by website.
Method 1. User log in to site, click on invoice and Pay. For this method i have to follow which method where user come back to site with additional parameter i have sent?
Method 2. If user has provided his credit card details, then with help of cronjob / schedule task, payment should be processed and it should notify to website (IPN). For this method i have to follow which method? This is not recurring payment.
Thank you
You could use the DoDirectPayment API for both. This would allow you to process a charge at the time the buyer is checking out, or later through your cron job. Keep in mind that the DoDirectPayment API will only let the buyer pay with a credit card though. If you are wanting the buyer to be able to pay with their PayPal account as well, then you would need to also use Express Checkout.
Capture Card as I understand it allows a seller to securely accept an online order with credit card name, number and code via a shopping cart. We can subsequently ship the order, add the freight to the invoice and submit the total amount to the credit card for payment. After the payment has been posted the credit card information is wiped from the order.
I was led to believe that I could do this with a PayPal Payments Pro account, so I created one and sent a test invoice through with my own credit card. The amount of the invoice with tax was immediately posted to my PayPal account without the opportunity to add freight.
Can anyone on this forum provide a solution or workaround?
Thanks!!
Are you processing this initially as a sale or an authorization. If you are wanting to use the DoDirectPayment API with Website Payments Pro, you could process a 1.00 authorization to validate the card. Then perform all of the calculations that you are needing to, and then process the payment using the DoReferenceTransaction API call where you send across the full amount you want to charge to the buyers card. You only have to reference the transaction id for the last successful 1.00 auth you did, and PayPal will use the same credit card information. Otherwise you could also process the DoDirectPayment API call with the full amount at the time of checkout, and just use the DoReferenceTransactions API call to charge any additional charges to where not initially charged such as tax and shipping.
Another option would be to use Express Checkout, and process the transaction as an order. This will allow you to make more then one authorization/capture against the order. You can also set a max amount in the Express Checkout API calls.