Using Multiple PayPal Email Addresses - magento

I have two email addresses set up on PayPal. Both are confirmed, one is set to primary.
And these two email address are used for two different website for accepting money. My websites are based on Magento. Both websites use Standard PayPal and Express Checkout.
But the problems is that transactions from both websites state that payment is sent to primary email.
Where can I set up to sort payments received by which email address was paid, track transactions based on source (different websites).

The Instant Payment Notification (IPN) for the transactions would allow you to distinguish between the two using the receiver_id parameter, which is the unique ID of the account as opposed to an email address.

Related

Magento 2 Multi-Address checkout issue with Braintree PSP

We are facing issue with Magento Multi-Address checkout. We have enabled this to allow customers to put through large orders to be sent to multiple addresses. Even though to the customer it looks to be one payment we know it actually splits the order by address and takes a payment per order. The challenge is we are having customers make large orders for up to 100 addresses and the first 5 orders/payments are going through fine but the subsequent payments for the remaining order are all being rejected by the bank and therefore the rest of the orders are not being created.
We are currently using it on Magento 2.4.2 with Braintree as the PSP.
We are expecting to process the multi address checkout payments with Braintree.

Spring: Paypal Payment on new currencies results to PENDING capture status

I think this is not a code problem since my application can successfully pay and process payments using my account currencies (usd/php/hkd).
Since there was a new requirement to support some currencies (sgd, eur, jpy, etc), I added these currencies Account Settings > Money, banks, and cards.
Btw, I am using paypal order and payment version 2 on spring.
The application was able to pass the currency and value of the transaction (like what I do normally with USD/EUR/PHP).. It was able to create order object, authorized approved payment... but it the capture authorized payment is always stucked at PENDING.
I still need to check on my test paypal account and either Accept/Reject received payment.
However, my application is only checking for COMPLETED capture status for it to considered or mark it as successful payment.
I also tried the configuration on my test paypal account (Account Settings > Payment Preferences > Block Payments).
Tried selecting Yes, accept and convert them to... and Ask me whether to accept or deny each individual payment but the capture status is still PENDING.
Is there a way to proceed with the capture payment and have the status to COMPLETED? Even with payments of different currencies? It would be OK if the payment received will be stored on that currency or have it converted to my default currency (like USD, etc).
What I want is the capture status to proceed to COMPLETED without manually accepting/rejecting payments with other currency (newly added currencies).
Again, I think this is not a coding issue... more of a configuration issue.. but I am not sure which configuration and where to set. I am pretty new with paypal development.
By the way, I based my changes on my paypal account with this link:
Payment Receiving Preferences
TIA
This is standard PayPal behavior. If you accept the first payment in a new currency in a way that opens a balance in such a currency, future payments won't need to be manually accepted. You can also manually open $0 balances in the Money management section, https://www.paypal.com/businessmanage/account/money
The setting in Account Settings > Payment Preferences > Block Payments that you mention to convert non-balance currency transactions to your primary balance will only apply automatically to future payments. Their status should then not be 'PENDING' due to any currency issue.
(If you find that all payments are PENDING, even your primary balance ones, then the pending reason (as stated in the API response) is likely "authorization" -- meaning you created an authorization with intent:AUTHORIZE but haven't captured it yet. Change to intent:CAPTURE to capture immediately.)

Email goes to spam folder Gmail and outlook while having 10 in mail-tester

I put a lot of effort in perfectionizing my emails in Magento, in mail-tester i even have a 10. But stil the emails (also when i send a not transactional mail) go to spam in gmail and outlook.
Any idea why?
Email deliverability involves a lot of factors so more information is needed to help you. What are all the services you use to send email out other than Magento? Do you do email marketing? Do you get good engagement with your email marketing (opens. clicks) with low bounces? What's the nature of your business and the content you send in the Magento emails and other emails you send out (e.g., marketing emails) even if through other services?
What precisely is in your Sender Policy Framework Record (SPF) record (please post exactly what's in your SPF record for sending domain)? Do you have DKIM implemented with services that send mail on your behalf? Have you implemented DMARC?
Do you send email from a dedicated or shared IP address(s)? Check hosts and IP address for blacklists at mxtoolbox and check your senderscore at senderscore.org.
Do you know if the problem is limited to Magento or do other emails sent from that domain go to spam as well? You may want to set up a test account or two with gmail and outlook.com as it will be handy to have some email addresses to send to that you've never sent to before for testing purposes.
Note: I tried to post this as a comment but it was too many characters.

Pass a unique ID with Twilio HTTP POST

I am currently using Twilio to send balance notifications for customers who have opted into SMS notifications, but have run into an issue in positively identifying accounts in the message logs. A number of customers have multiple accounts due to the nature of my industry, but naturally use the same phone number across all accounts. Is there any way to pass a parameter containing their internal account ID in the HTTP POST request without including it in the message body? I've searched extensively through Twilio's API docs and cannot find this addressed anywhere.
Twilio developer evangelist here.
As far as I know there is currently no way to store metadata, like your account ID, within an SMS sent via Twilio.
One idea could be that you purchase a number of Twilio numbers and tie together a user's phone number, a Twilio phone number and the specific account. That way, if you always send balance notifications for a specific account from a specific number then you can identify that message in the logs as belonging to that user phone number for that account.
Alternatively, I'd have thought it would be useful for users, if they have more than one account, to see to which account you are referring in a balance notification. Would it be possible to include the account id (or some other identifier that the user would recognise) and then parse that out of the message when reconciling messages and accounts?
Not exactly the question but if you are using twilio webhooks for status callbacks you can pass query string params through the status_callback parameter when making the call to send the SMS message and get it sent to your endpoint

Why are billing and delivery address fields required to setup SagePay transactions?

As the title says, i have some questions about the mandatory valies required to register a server integration transaction.
Questions
Why are Billing Address fields and Delivery address fields required since protocol version 2.23? (seems odd as the transaction is for payment of a service already provided/delivered)
Is there an alternative SagePay integration method that could be used to avoid having to provide these fields?
Quick background about integration requirement
I'm developing a Website bill payment Gateway for 'Client A'. Their customers is sent paper invoices and will have the option to pay their bill online. The customer will enter their bill details and a lookup to a web service provided by 'Client A' will return a bill and bill total.
I will then allow the customer to review their bill and choose to pay their bill via SagePay. When the customer chooses to pay their bill, i was intending to register the transaction with SagePay by sending the fields (VendorTxCode as the bill ID) and the Total of the bill.
'Client A' would then produce a report of successful SagePay transactions and match the (VendorTxCode as the bill ID) to their system to mark the payment as complete.
Thanks
Adam
I believe you can use a SagePay token but you must send this information over the wire on the first hit and subsequently you can use the token it provides you back.

Resources