XF 1.5 User upgrades keep including shipping if paying on a desktop computer, but no shipping on a phone

We have been testing user upgrades as we build our forum. Test user can upgrade, but it is including shipping information when paying, and receipt includes shipping information. We do not want or need shipping information.

Saw this, but it is set to 1.
https://xenforo.com/community/threa...ptions-require-shipping-postal-address.24093/ <input type="hidden" name="no_shipping" value="1" />

Has anyone else run into this?

UPDATE: This issue is isolated to payments done on a desktop only! Payment using mobile browsers to NOT include shipping info. WTF??


code:
.
<xen:title>{xen:phrase account_upgrades}</xen:title>

<xen:require css="account_upgrades.css" />

<xen:if is="{$available}">
<div class="section">
<h3 class="subHeading">{xen:phrase available_upgrades}</h3>
<ul>
<xen:foreach loop="$available" value="$upgrade">
<li class="primaryContent upgrade">
<form action="{$payPalUrl}" method="post" class="upgradeForm">
<div class="cost">{$upgrade.costPhrase}</div>
<xen:if is="{$upgrade.length_unit} AND {$upgrade.recurring}">

<input type="hidden" name="cmd" value="_xclick-subscriptions" />
<input type="hidden" name="a3" value="{$upgrade.cost_amount}" />
<input type="hidden" name="p3" value="{$upgrade.length_amount}" />
<input type="hidden" name="t3" value="{$upgrade.lengthUnitPP}" />
<input type="hidden" name="src" value="1" />
<input type="hidden" name="sra" value="1" />

<input type="submit" value="{xen:phrase subscribe}" class="button" />
<xen:else />
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="amount" value="{$upgrade.cost_amount}" />

<input type="submit" value="{xen:phrase purchase}" class="button" />
</xen:if>

<input type="hidden" name="business" value="{$xenOptions.payPalPrimaryAccount}" />
<input type="hidden" name="currency_code" value="{$upgrade.currency}" />
<input type="hidden" name="item_name" value="{xen:phrase account_upgrade}: {$upgrade.title} ({$visitor.username})" />
<input type="hidden" name="quantity" value="1" />
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="custom" value="{$visitor.user_id},{$upgrade.user_upgrade_id},token,{$visitor.csrf_token_page}" />

<input type="hidden" name="charset" value="utf-8" />
<input type="hidden" name="email" value="{$visitor.email}" />

<input type="hidden" name="return" value="{xen:link 'full:account/upgrade-purchase'}" />
<input type="hidden" name="cancel_return" value="{xen:link 'full:index'}" />
<input type="hidden" name="notify_url" value="{$xenOptions.boardUrl}/payment_callback.php" />
</form>

<div class="upgradeMain">
<h4 class="title">{$upgrade.title}</h4>
<xen:if is="{$upgrade.description}">
<div class="description">{xen:raw $upgrade.description}</div>
</xen:if>
</div>
</li>
</xen:foreach>
</ul>
</div>
</xen:if>

<xen:if is="{$purchased}">
<div class="section">
<h3 class="subHeading">{xen:phrase purchased_upgrades}</h3>
<ul>
<xen:foreach loop="$purchased" value="$upgrade">
<li class="primaryContent">
<div class="upgrade">
<div class="upgradeForm">
<xen:if is="{$upgrade.record.end_date}">
<div>{xen:phrase expires}: <xen:datetime time="$upgrade.record.end_date" /></div>
</xen:if>
<xen:if is="{$upgrade.length_unit} AND {$upgrade.recurring}">
<a href="{$payPalUrl}?cmd=_manage-paylist" class="button">{xen:phrase cancel_subscription}</a>
</xen:if>
</div>

<div class="upgradeMain">
<h4 class="title">{$upgrade.title}</h4>
<xen:if is="{$upgrade.description}">
<div class="description">{xen:raw $upgrade.description}</div>
</xen:if>
</div>
</div>
</li>
</xen:foreach>
</ul>
</div>
</xen:if>
 
Last edited:
The user isn't being prompted for their shipping address by PayPal. The shipping address is returned by PayPal for all transactions. It is usually the address registered at PayPal. You can't stop that in the emails or the IPN notifications.
 
Indeed they are on the PayPal side. At the payment link after logging in. The receipt includes the confirmed address to both the paypal recipient and the seller.

There is nothing to ship. just upgrading the client to more access. I called PayPal already,and there are ways for it to not require shipping information by using their buttons. We are using the Xenforo user upgrade option though, which complicates things.
 
Hmm... I've never been prompted for a shipping address when using a site's upgrade system.

For example..
paypal.webp
 
Last edited:
I misspoke. The only time I see a shipping address is when I sell an add-on.

I've looked at all user upgrade emails, both those I've sent to other sites, and those received on my site and none contain a shipping address.
 
I'm stumped. If you're using the default XenForo user upgrade system without any user upgrade or payment gateway add-ons, with the default style, then so far as I know it shouldn't be happening.
 
The same information is passed by XF to PayPal when purchasing an upgrade, whether it be from a desktop PC or a mobile device.

If PayPal is handling the transactions differently depending on the device, that's not something we can control.
 
For any poor schlep who runs into this issue, log into PayPal. profile > my selling tools > block payments > first option was set to yes."For the items not sold on eBay, Only allow payments from the users with confirmed address." Changed to No, and now it works.
 
Back
Top Bottom