I am working on a website in PHP that needs custom cycle for paypal recurring payment. Ex: a customer wants to receive a product in every 15 days. So paypal should process billing in every 15 days for the customer. Others can ask for the same in 30 days, and so on.
I also need the payment status to be updated. I guess paypal will send some data when a recurring payment is done. Not getting clear instructions on implementing the recurring. What I am getting is to create the recurring payment button from paypal account.
Can anyone help me on this?
Assuming the number of days is chosen at checkout time and never changes for that particular customer's custom billing cycle...
Quick solution:
You can generate a "Subscribe" button via http://www.paypal.com/buttons for a certain number of days, say 15 days. In "Step 2", uncheck the option to save the button at PayPal. Once you have generated the code, click the option to remove the code protection.
This will give you plain HTML, and "15" will be one of the variables there. Possible variables are documented at https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/
So, you can change that hidden input to be of type "text" -- or alternatively to still be hidden but set by your javascript or server-side code, and have a dynamic button for X number of days. The image can also be changed to one of your own, of course.
More involved solution: integrate one of PayPal's recurring subscription APIs, which will accomplish much the same thing as that HTML button. This seems to be the newest API: https://developer.paypal.com/docs/subscriptions/
(The API and the HTML button are separate products , and not interchangeable in terms of how you manage existing recurring profiles later on, so if you need a full-fledged API, best integrate it from day 1 rather than using the HTML button)
If the first assumption does not hold, and you need customers to be able to adjust the billing cycle at a later date after checkout, then things get more complicated.
As far as getting payment status updates, you can integrate PayPal's webhook service: https://developer.paypal.com/docs/integration/direct/webhooks/
There is also an older IPN service that is similar in function
Related
I am using Braintree Hosted Fields for checkout. I have added Paypal button like this
paypal: {
container: "paypal-container",
amount: 20.00,
singleUse: true,
currency: 'EUR',
}
I want the customer to enter the amount as much as he wants. I have checked the docs but unable to find how it can be done with hosted fields.
One option I have is to refresh the page once customer change the amount in the form text fields but that will wasted a lot of time.
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
One way to do this is to have a two step process. Have the user provide the amount prior to calling braintree.setup. Once they enter the value, you can call braintree.setup in javascript, using the same parameters you currently have but setting the amount parameter to be whatever the user just entered. The user can then go through the rest of the authorization flow, and you can send the amount to your server, which will be used in a Brantree.Transaction.sale call to complete the purchase.
I've a Magento website that I'm using for some tests and I need to setup an easy payment method that can make me able to buy something without any risk to get real payment from random users but I also need to register this order with a "complete" status immediately (I've also another add-on that will export complete orders to an external platform but only if they're completed).
I was thinking to use the "Check / Money Order" but there is only one option configurable from "System/Configuration/Payment Methods" and it's the "Pending" status.
I'm quite new with Magento so, is there any easy method to change that status and register automatically the Order as Complete also if using the Payment method? If not, there is the possibility to enable another payment method without any Credit Cards, CC, Bank transfert,... option??
Thanks a lot!
Cheers
Francesco
Is getting label using USPS api such as "USPS TRACKING (https://www.usps.com/business/web-tools-apis/usps-tracking-v3-3.htm)" any different than postage paid label obtained from 3rd parties such as endicia.com, stamps.com?
Is it possible to purchase prepaid postage on usps.com website, then calling the USPS label api to generate postage paid label? I mean when we call the API to generate the label, appropriate amount to be deducted from my USPS account.
I dont understand the use of the label generated by USPS API. I mean, I have activated my account at USPS and now working on production server. Now if I generate any label using the API (https://www.usps.com/business/web-tools-apis/usps-tracking-v3-3.htm), and generate a label. I didn't see any data in my history at online account. I mean, this generated label is of no value? or still my account is not activated? as I think, i have not yet done this -
reference pdf:Development-Guide-v3-1d.pdf
Step 7: Receive Printer Approval from ICCC Implementing the Delivery
Confirmation and Electronic Merchandise Return Service with Delivery
Confirmation APIs requires this additional interim step. The NCSC will
review your labels within two business days. If the labels fail the
certification test, the NCSC will contact the person listed on the
submission form directly. If the labels pass, you will be notified by
the Internet Customer Care Center and you will be able to send XML
transactions using your “live” data and receive “live” responses. Once
you are approved to generate “live” labels from the production server,
and you need to print additional test labels for any reason, be sure
to use the “Sample” XML request. Otherwise, the USPS will send a
manifest of the PIC numbers issued to the USPS Postal Tracking System
and will be looking for the Delivery Confirmation labels to scan.
Does, receiving "Printer Approval" will solve my issue?
Answers to your questions are below:
It's different in that you're ordering through a 3rd party provider, but not different in that you're paying the same amount for a shipping label, and that shipping label has a value and can be used in the USPS system. This holds for Stamps, Endicia, and other 3rd party API integrations like Easypost
You should be able to do that entire action through the API.
Did you check back on your account? This information should definitely update in your account. Unless you are using an API key that's tied to a different USPS account?
Let me know, happy to help further.
If you want an api that prints postage, use Shiprush or another developer tool that is made to generate complete, ready to use shipping labels.
Labels generated using the API DeliveryConfirmationV4 do not include postage. Per the documentation,
Please note that the API labels are printed without postage. Postage
must be purchased and applied separately.
See https://www.usps.com/business/web-tools-apis/delivery-confirmation-domestic-shipping-label-api.pdf
I installed the Joomla AEC Version 1.0, Revision 5149.
I have set up plans and everything in this matter, if user clicks on the create an account system will ask user to select the plan. Then user clicks on buy now, she goes through Paypal, Purchase get made (Subscription with 3 days free trial) then user get redirected back to the site which all works fine.
My problem is user will see the message that says "Thank you for your registration. Our system will now await your payment. You will receive an e-mail once our system has processed your request. ". site will never get the clearance from Paypal. I havent put any custom custom URL or anything like that.
Also site is in the staging. so the URL starts with http://staging.domainanme.com
Not sure if this will cause an issue.
Thanks
With AEC it is quite simple with a Paypal Subscriptions processor. You just need to put in the email address of your account at:
Processors -> Paypal Subscritions -> Business ID
Not sure if that will be the same with 1.0 as this is based on 1.2.
If you have a valid account that's all you need. Of course make sure you have assigned the processor to your plan.
So if this all checks out one other thing you can try. If you were using the paypal account before with some other domain then switch to staging.domainname.com then you might want to try adding the Alternate IPN Notification Domain. Find this at:
Processors -> Paypal Subscritions ->Alternate IPN Notification Domain
In here put exactly http://staging.domainname.com
UPDATE:
The problem is Paypal communication then. First remove the Alternate IPN Notification Domain setting in AEC that I suggested. That was just for testing.
Either Paypal email is not confirmed so the communication fails or the communication can't be established.
Assuming you are using Paypal Standard, go to Paypal and login. Check in this order:
Click on Profile. Does the email have "unconfirmed" beside the email? If it does then that's your problem.
Go to Profile -> My selling tools -> Instant payment notifications. Click update on the far right. Enable it and add a new notification url. It should look like: http://www.yoursite.com/index.php?option=com_acctexp&task=paypal_subscriptionnotification
Just another thought. Paypal doesn't enable Paypal subscriptions when you sign up for Paypal Standard. I can't remember exactly when/how that was done but I remember that a separate step was needed. That could also be the cause of this issue.
I'd like to use google checkout to charge for subscriptions to my website. In order to efficiently process orders, I need to collect the purchaser's email address or another unique id for that order, so that later I can activate their account.
Is there a way to programmatically associate an id that I can generate at runtime with an order placed in google checkout?
If possible, I'd like to do this just by generating different html for the "buy now" button. If necessary, I can use the API.
Update: I see various mentions of merchant-item-id, and when I create a button with Google's tools I can set that field statically. If there were a dynamic way to set merchant-item-id, that would be perfect. Any solutions like that?
Look in to the notification API:
http://code.google.com/apis/checkout/developer/Google_Checkout_HTML_API_Notification_API.html
Changing the code of the buy now button wouldn't actually notify you if the order was completed - there'd be no way to determine if a user just loaded the buy now page, completed the payment, or if the payment was declined. With the notification api you can instantly activate the subscription only when payment is received. Of course, you have to write the script to receive the notification...
The only other option I see if changing the continue_url to somehow change the thank you page to include the id, but this is easy to fake.
The answer seems trivial now. Just throw:
<input name="shopping-cart.items.item-1.merchant-item-id" type="hidden" value="11235" />
into your BuyNow button code (or whatever form you're using to submit) with 11235 being any value you like.