We have a site where we need to charge the customer an upfront fee, and then when they complete a process at a later date, we will charge them another amount for which we only have an estimate.
What is the best way to do this with PHP SDK?
Do I need to use the Classic API? Is a regular Billing Agreement (subscription) required?
Reference Transactions are not currently available in the Paypal PHP SDK, but they are working on it. You can do it with the Classic API.
Related
I have a website coded in PHP that uses paypal buttons/IPN for subscriptions.
The method is limited and I need to replace it with the REST-API.
What the system needs to do:
Accept new user recurring-payment subscriptions
Be able to change plan pricing for new users
Be able to change plan pricing for existing users
Change subscription plans mid-subscription(If a user upgrades from pro to master the price goes up, and the opposite way it goes down).
The price difference between packages is 5$
Give periodic discounts for a limited amount of months.
The questions:
1.) What is the equivalent of recurring-payments in the PHP-API or REST-API? (I'd rather it auto-charges and notifies my IPN if possible)
2.) How can I automatically refund/charge an additional amount when the user upgrades/downgrades in the middle of a month?
3.) Is there a standalone PHP control-panel that can connect to the paypal API to manage the subscription packages + sales?
Thanks in advance!
If you are looking to use REST APIs, the best place to start is going to be at the REST API docs. For your situation, you can use the vault to set up a recurring payment system. You could also use the future payments API, but you will need to make sure you buy DPRP for your account. Contact PayPal Customer Support to enable DPRP.
With the Vault API, you can just create one time payments over and over with the token you get when storing a credit card.
There is an in-depth walkthrough using the SDK on the PayPal PHP SDK Wiki.
To do refunds, you can use the Refund REST API. All this assuming that you would be writing scripts to detect your user downgrading/upgrading. You would just need to store the amount they are paying each month in your DB.
There are some shopping carts out there that are implementing REST APIs. You might need to google search for something like that.
Hope that helps and gets you started in the right direction!
Is this possible to bill a customer manually with Paypal pro?
After authorize/verify a card (not saving card number/cvv only saving it's exp. date of the card) is this possible to bill a customer manually (through cron job in PHP) according to it's subscription plan (monthly/yearly) ?
Any help ?
Yes, it's called a reference transaction.
Depending on which version of Payments Pro you have you would either use the PayFlow API or the DoReferenceTransaction API.
This PayPal PHP SDK supports both of those and will make the API calls very simple for you.
I know this maybe a duplicate but due to the overwhelming amount of paypal APIs I am having a hard time finding a GOOD answer to my question.
I need to create variable monthly billing per user in PHP. The idea is that a user could sell a number of items with a total sum of sales at the end of the month p. So the billing would be something of the extent MY_PERCENTAGE_FEE * p. The user would then be sent an invoice, and a would be automatically billed via paypal for that amount.
Now, it would be SUPER great if this could be done by creating reoccurring billing and updating the amount at the end of the month. Is that possible? If not what would be the next best way to go?
If you're creating recurring profiles with Payments Pro you can adjust those without any limits. Unfortunately, with Express Checkout you're limited to raising the amount by only 20% every 180 days, so that doesn't normally work out very well. You have a few options of how to get around that.
1) Utilize billing agreements with Express Checkout and Reference Transactions. This would allow you to run an authorization (or an original sale of some sort) for a payer and then from that point on you can use that transaction ID from the original transaction along with a new amount in the DoReferenceTransaction API. Reference Transactions area available with Payments Pro by default, but if you want to use them with Express Checkout you'll need to get that specifically enabled on your account.
2) Use the Preapproval API, which is part of the Adaptive Payments platform. This is similar to reference transactions except that you can create preapproved rules by which you can bill your payers at any time without further approval. This would allow you to process payments for them at any time you need to and pull variable amounts accordingly.
3) Use the Pay API, which is also part of Adaptive Payments, with a split payment (parallel or chained) which would allow you to take your cut in real-time without the need to track balances and submit variable recurring payments. Each time one of your customers is paid for their product/service, you would immediately be paid your share.
Is it possible to integrate the Google Checkout API or Paypal API with my marketplace? I am using PHP to generate the market, one auction at the time. I have a MySQL database containing all of the market actions, however, I was wondering. Can I use either Google Checkout or Paypal to dynamically generate the Checkout process, and give the proceeded money to the user whose posted action, then notify me?
I am able to load User details from the MySQL database aswell.
I looked at the 'StackExchange' network, however; I could not figure out where to place this question. Therefore I assumed this was the best place ?
Google Checkout as the term implies is pretty much what it says - it allows a merchant to outsource their checkout operations to Google. I don't think it's a fit because in your case, "merchant" is "dynamic" - its different sellers across auctions. Additionally, Google Checkout isn't for person-to-person payments - its specifically for a merchant (store) to sell products and service at it's web site and have the checkout process handled by Google.
Look into Paypal Adaptive Payments.
You can also look into Amazon FPS .
I'm not familiar with your project's terms such as 'generate the market', 'market actions'
PayPal has reference tranactions in which you can charge same customer's credit card again without storing actual credit card.
Authorize.Net has CustomerPaymentProfile in which they store your customers's credit cards. Then you can submit each customer's paymanet profile, and they'll charge the card for you.
I'm not familiar with Google's automatic checkout without actual credit card.
I am currently creating a paypal payment with recurring support. I want it
in such a way that there is an initial payment made.
Example :
30$ - initial payment
10$ - recurring monthly payment
The initial payment is charge upon checkout. I'm using the html standard
integration process.
Is it possible?
Using paypal NVP API for PHP, you can send the initial payment to paypal like this.
$nvpstr="&AMT=10&CREDITCARDTYPE=$creditCardType&ACCT=$creditCardNumber&EXPDATE=". $padDateMonth.$expDateYear."&CVV2=$cvv2Number&FIRSTNAME=$firstName&LASTNAME=$lastName&STREET=$address1&CITY=$city&STATE=$state".
"&ZIP=$zip&COUNTRYCODE=US&CURRENCYCODE=$currencyCode&PROFILESTARTDATE=$profileStartDate&DESC=$profileDesc&BILLINGPERIOD=$billingPeriod&BILLINGFREQUENCY=$billingFrequency&TOTALBILLINGCYCLES=$totalBillingCycles&INITAMT=30.00";
$resArray=hash_call("CreateRecurringPaymentsProfile",$nvpstr);
parameter INITAMT specifies the initial payment amount
Yes, this is possible with Website Payments Standard (the 'HTML standard integration process' I assume you use). Simply include a trial period within the subscription, and start charging X days from when subscriptions ends.
See the subscription variables here.
I too switched from website payment's pro to html integration and unfortunately initial amount option is not available in HTML version. If you can switch website payments pro and use API then you can have the option of initial amount (I had to switch because API is not allowed on Israel paypal accounts) otherwise the only option you have in HTML is trial periods.
But on the below link the INTAMT is not proper way to deduct initial payment
Paypal recrurring payments
So please put your thoughts.