Send email after Paypal Express Checkout order completes - php

I'm trying to subscribe a client to an AWeber mailing list upon ordering a product on a website. I've completed the ordering process, and I also have my server sending an email to AWeber to enlist the client.
For some reason the emails bounce when sent from my server (due to a DNS error) and the ISP doesn't know how to fix it.
Thus, I am looking for an external mailing solution on PayPal itself. Is there any way to have PayPal send an email upon order completion (sort of like what it can do with Buy Now buttons)?
If so, how can I instruct it to send the email, and set the contents/destination?

Why not create a script which will be triggered via PayPal IPN and when triggered, subscribes the email address through Aweber API (https://labs.aweber.com/)? Use their API instead of sending an email to subscribe an email address.

Related

PayPal sandbox email notifications

I'm testing PayPal as a payment method for my website in sandbox mode. My requirement is, an email must be send to the merchant after each transaction. I am using the PHP SDK. How is this possible?
This is the configuration that I have seen for notifications in paypal.
PayPal already sends its own emails to the merchants after each transaction completes. In sandbox, you can see the notification methods in the "Notifications" tab of https://developer.paypal.com
If you want to generate your own emails in addition to the PayPal emails, you should use a server-side integration. Here is the front-end UI: https://developer.paypal.com/demo/checkout/#/pattern/server
You'll need two corresponding routes on your server, one for 'Set Up Transaction' and one for 'Capture Transaction', documented here: https://developer.paypal.com/docs/checkout/reference/server-integration/
That last route of yours can send your email on success.

Open PayPal payment with a specific address unchangeable

I get a lot of fraudulent payments with PayPal from hacked accounts, and it ends in a chargeback and I waste a lot of money and time.
I'm imagining a system where I could ask my customers for an email address, and send them an email with a button to verify that they have access to their mailbox, and if so, allow them to place an order on my site with PayPal.
The concern is that I don't know how I can create a PayPal payment button with a predefined email address, so the client can very well validate a false email address, then pay with a hacked account.
Any ideas?
You cannot force them to log in and approve the payment with a certain PayPal account / email address. However, using a server-side integration, you can check their information before capturing the payment. Here is a skeleton demo of a server-side integration.
With that design, after the buyer approves the payment, the fetch( XHR to your server will be triggered, and normally this is when you would simply do a v2/orders capture request from your server to PayPal.
But per your question's requirement, before doing that you can first get info about the approver, and validate that their email corresponds to one you want to receive the payment from. I haven't tested this scenario specifically but my understanding is a "Show order details" call at this stage would return a "status": "APPROVED" , with information about the approver in the rest of the JSON body.
If the email doesn't match one you want to receive the payment from, then you would discard the order (not do any capture), and show a message to the customer that they must buy from the email you verified earlier in your checkout flow.
As a side note, if someone has full access to a PayPal account, they can always add a new email to that account within www.paypal.com , and check out from your site using that new email they have full control over. So I'm not sure this actually helps you in terms of security, but it does give your customers (both legitimate ones and fraudsters) an extra validation hoop to jump through to complete the checkout.

Paypal Mass Payment Api get notification to non paypal email using Sandbox

I have used paypal mass payment api to pay commission. Right now i am using sandbox according to the documentation in mass payment api if we use non paypal email id then that user will get notification from paypa to create the account to get that payment but in my case no notification send via paypal to that non paypal email id.
How is it possible, any solution for this problem?
In Sandbox, the email is not send to the actual mailbox. The email only be send if the masspay is done on Live.
So, how you can have a proof that actually you are sending the money via masspay? You can try to create a sandbox account (any business or personal) using the email of the receiver (payer) and you can see the payment is being deposited.

Paypal IPN, But From Who (if the registration and paypal mail different)

I am having trouble with Paypal IPN About one thing,
As I understood, paypal redirects the user to a page of us after the successful order, then calls our IPN page, after the transection with post variables including result.
Paypal sends the mail of the order owner in the post variables, but what if the mail in the site and paypal are different.
If PayPal is calling the ipn page, sessions won't work. If i don't check the mail, I won't be able to catch simultaneously IPN orders ( I think ).
I saw something about txn_id and receipt_id, but if I'am not sending the variables, how can they help me to catch the user.
I am Mixed a bit.
Thanks for any reply.
Regards.
There is a custom parameter, it can be user to send additional parameters
You link the IPN request and the transaction by the txn_id (transaction_id). This is an id you generate, the only requirement is that it's unique.
So:
User starts a payment transaction on your site. You generate a transaction_id which is linked to the user with address info and some 'shopping cart', price info, items etc. This is all the info you need, to know who ordered what and where to send it - all identified by the transaction_id
You pass your merchant info and transaction_id on to PayPal.
User completes payment.
IPN calls your server with user info, payment status and a transaction_id. The email address you get from PayPal may be a different email address than you have registered for the user, maybe the user has a separate email for PayPal? .. It doesn't matter. Use the email address the user gave you, not the one you got from PayPal. And don't use the email address for identification, use the transaction id it's the only value you can rely on.
I'm not sure about the receipt_id. If you want to email a receipt, mail it after you've got a successful payment from IPN. You should have all the info to generate the receipt.

Any way to direct 'returned' emails for various errors?

We manage a website which gives agents the ability to enroll members across the country. At times, the member or agent will enter a bad email address during the enrollment process and important PDF'd information cannot be delivered to the member.
Similarly, an agent may try and recruit a sub-agent and have the same issue.
Is there anyway to automatically redirect returned emails (Delivery Status Notification (Failure)) to the responsible party instead of to our primary email?
i.e. Agent 1 recruits Agent 2. An email is attempted to send from recruit#domain.com but the address for Agent 2 is invalid. The system automatically recognizes the message type, formats and sends Agent 1 a note saying the email he/she entered was bad.
Note: I am using Google Apps Standard for all of our mail delivery currently while our platform is built on php and mysql.
make a special email for example "recruit-system#domain.com" and send every mail from this account. after sending a recruiting mali via that account, make shure that you save the destination e-mail adress in your database connected with the according agent who sent that mail so that you can determine who sent that email afterwards. make shure this account is only being used by your app. then make a cronjob for a php script that connects via smtp to that account and let it check out if there is any mail that returned. If there is any email look from where that mail came and look it up in your database and send the notification to the according agent. that's how i would do it.

Categories