'Authorize & Capture' to avoid refunds?


Not a technical person but was tasked to find out the possible payment methods for a mobile application.

We are an ordering startup and are looking to integrate various payment methods (credit/debit/Google Pay/Apple Pay) into our mobile app.


Just wanted to confirm if the 'authorise and capture' API works this way (like hotel bookings):

1) When user selects one of the payment methods and clicks pay, it authorises the bank to lock a certain amount (e.g $10).

2) When the restaurants fulfils the order and marks it as completed, it prompts the capturing of the $10. Paypal receives a transaction fee for this.

3) When restaurant rejects or fails to fulfil the order, the authorisation expires after a certain period (e.g 1 day) and the $10 is unlocked. Paypay DOES NOT receive a transaction fee for this.


Is this how it works? Basically we are trying to reduce the number of refunds that we have to process due to our partnered restaurant's failure to fulfil the orders. Refunds and transaction fees are piling up when merchants fail to accept and fulfil the orders!


Would 'authorisation and capture' work for both Google Pay and Apple Pay since they are just a tokenized form of issued credit/debit cards. I would assume that they work similar ways.


Thanks in advance for all comments, really hope someone can help me out given that I do not have a technical background...

Login to Me Too


Not really, but kind of. First Paypal Authorizes the funding amount via the CC/Bank, if funds are there, it comes back as Authorized (This is a variable that you can capture and use later in other API's or even in HTML.   In your case the transaction has already happened, there is no Waiting for the Restaurant to mark it complete. PayPal was paid in the Authorization. The ONLY time Paypal is NOT paid is if a payment was NOT Authorized via the CC/Bank, then it comes back as canceled and at that point there is NO Transaction at all and your program should die gracefully with a user message letting them know that it did fail.  Paypal returns details.id, details.status, you can capture these for use in JavaScript or jQuery 

As an Example I use Details.id like so $('#transid').val(details.id); that way I can stuff the DOM with it if I need to.

I Also use details.status === "COMPLETED" in a IF statment like so:

       if (details.status === "COMPLETED") {

           $('#transid').val(details.id);  //it was approved
          $('#orderstat').val('APPROVED'); //set the HTML ID for a message
          $('#orderform').submit(); // Submit user/Admin Emails (another script that I call).



Hope that helps




Login to Me Too


Thanks for your explanation! I had always thought that Paypal gets paid only when the transaction goes through (i.e merchants get paid).


Seems like the authorisation and capture would be a feasible idea to reduce the total number of transactions (by removing refunds as an isolated transaction) we are doing now, hence less processing fees incurred!



Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.