Authorize/Delay/Hold payment in PayPal
Do you know the paymentaction feature of PayPal ? It is used to make authorization of payment. This means once PayPal account owner will Capture the payment than only the payment will be deposited in his/her PayPal account. I was in search of this feature as my client have a specific requirement for e-commerce website in which payment must be hold or delay until one product reached to their minimum sell. Basically its a bidding e-commerce application so client have a requirement that if bid succeed than he will Capture the payment from PayPal and if bid fails than he will void the payment from his PayPal account.
To use this feature you just need to pass one variable along with other parameter which you are passing to PayPal(for e.g. item_name, return_url , notify_url).
<input type="hidden" name="paymentaction" value="authorization" />
Once you will pass this variable along with other variables in PayPal, payment will not be deducted from buyer's account until PayPal account owner(Merchant) will Capture it. Do you have a question how to Capture payment which is in authorization ? Answer is, Once you will login into PayPal account it will show recent activity in My Account. You can see the Capture button there and authorize the payment. If you want to void the payment than click on edit, you can see the Capture & Void button. Click as per your wish. The payment will be in authorize mode for next one month.
Thats it. If you find any problem in this than let me know by comment.