📜 ⬆️ ⬇️

PayPal payment integration - Shipping Prepopulation

Immediately I warn you that, in fact, the topic is not so much information, as the questioner.

we have




problem


When purchasing through PayPal, the administrator receives a letter stating that the address to which the product should be sent is not validated. So the payment doesn't really go through and confirmation is required “by hand”.
')

task


Understand and fix.


At first, I tried to investigate the current mechanism for working with PayPal. It turned out that a certain control is used which “quietly” creates a form, fills it with the information entered by the buyer and immediately sends the form to PayPal. Actually the process of buying is already on the PayPal site.

This control has no means for transmitting Shipping information. But what should we build a house? Fill out the form themselves and prosabmitim themselves.

And here came the rake - how to send this information to PayPal? I’ll say right away that the option to get information about the credit card on the site and to pay through the API is not yet considered by us - I would like to put all the money on the card validation, transaction security, etc. on paypal.

What options does PayPal provide?


Website Payment Standard

Everyone seems to be good - but we have far more than one product on the site, because the button that was previously generated does not fit. You can use address_override to transfer a client’s address (billing address associated with a payment), item_name_"n" and amount_"n" can be used to transfer a group of products at once amount_"n"

Having created an account in the sendbox, I started testing it;

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart" />
<input type="hidden" name="upload" value="1" />
<input type="hidden" name="business" value="grinka_1266588332_biz@gmail.com" />
<input type="hidden" name="item_name_1" value="Item Name 1" />
<input type="hidden" name="amount_1" value="1.00" />
<input type="hidden" name="item_name_2" value="Item Name 2" />
<input type="hidden" name="amount_2" value="2.00" />
<input type="hidden" name="address_override" value="0" />
<input type="hidden" name="address1" value="1'st Street, 23-45" />
<input type="hidden" name="city" value="San Jose" />
<input type="hidden" name="email" value="nobody@email.com" />
<input type="hidden" name="first_name" value="Test" />
<input type="hidden" name="last_name" value="Uaser" />
<input type="hidden" name="zip" value="95131" />
<input type="hidden" name="state" value="CA" />
<input type="hidden" name="night_phone_a" value="408-983-5678" />
<input type="hidden" name="no_shipping" value="2" />

<input type="submit" value="PayPal" />
</form>


And then I just can’t think of how to “pre-type” the delivery address information. On the site, the user enters it, but I cannot send it to PayPal. The long smoking of PayPal manuals only further confuses the situation and finally brings my brain to a stupor.

By default, the system takes the same address as the delivery address for payment. And the buyer can then change it, but this approach is far from perfect, for we force the buyer to enter Shipping Address twice.

Payflow link

It almost seemed to me that he could “save the father of Russian democracy”, but in the sendbox it’s not possible to create a Payflow account - PayPal again and again gives a vague error with an offer to call the support.

Payment Pro

According to the description offers a lot more features, but


I ask the public for help - how can I solve this problem?

Source: https://habr.com/ru/post/85040/


All Articles