title: Passing the Billing Address to Paypal Express API
body: <p>I am working on a small membership site in WordPress.  We already have the users Name and Address and wish to pass that information to PayPal Express to prepopulate the Billing Information if the user chooses to pay by Debit or Credit Card. The site only sells to 5 countries at present (UK, US, AU, CA, NZ). </p>
  
  <p>Using the Paypal Sandbox I can get the Billing information across to CA, AU and NZ but using the same nvp string (with variations for currency / country code) I can't pass it to the UK or US.  </p>
  
  <p>Here's my Working CA String:</p>
  
  <pre><code>&amp;PAYMENTREQUEST_0_ITEMAMT=250.00
  &amp;PAYMENTREQUEST_0_CURRENCYCODE=CAD
  &amp;PAYMENTREQUEST_0_SHIPTONAME=Test User
  &amp;PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=CA
  &amp;PAYMENTREQUEST_0_SHIPTOPHONENUM=01234567890
  &amp;PAYMENTREQUEST_0_SHIPTOSTREET=Test Address 1
  &amp;PAYMENTREQUEST_0_SHIPTOSTREET2=Test Address 2
  &amp;PAYMENTREQUEST_0_SHIPTOCITY=Test City
  &amp;PAYMENTREQUEST_0_SHIPTOSTATE=Test State
  &amp;PAYMENTREQUEST_0_SHIPTOZIP=123456
  &amp;DESC=Example+Description
  &amp;NOTIFYURL=http%3A%2F%2Fwww.example.com%2Fwp-admin%2Fadmin-ajax.php%3Faction%3Dipnhandler
  &amp;PAYMENTREQUEST_0_SHIPPINGAMT=30.00
  &amp;NOSHIPPING=0
  &amp;PAYMENTREQUEST_0_AMT=280
  &amp;L_BILLINGAGREEMENTDESCRIPTION0=Billing+Description
  &amp;L_PAYMENTTYPE0=Any
  &amp;ReturnUrl=http%3A%2F%2Fwww.example.com%2Freturnurl
  &amp;CANCELURL=http%3A%2F%2Fwww.example.com%2Fcancelurl
  &amp;SOLUTIONTYPE=Sole
  &amp;LANDINGPAGE=Billing
  </code></pre>
  
  <p>And here's my non-working UK string:</p>
  
  <pre><code>&amp;PAYMENTREQUEST_0_ITEMAMT=135.00
  &amp;PAYMENTREQUEST_0_CURRENCYCODE=GBP
  &amp;PAYMENTREQUEST_0_SHIPTONAME=User Name
  &amp;PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=UK
  &amp;PAYMENTREQUEST_0_SHIPTOPHONENUM=01234567890
  &amp;PAYMENTREQUEST_0_SHIPTOSTREET=Test Address 1
  &amp;PAYMENTREQUEST_0_SHIPTOSTREET2=Test Address 2
  &amp;PAYMENTREQUEST_0_SHIPTOCITY=Test City
  &amp;PAYMENTREQUEST_0_SHIPTOSTATE=Test State
  &amp;PAYMENTREQUEST_0_SHIPTOZIP=123456
  &amp;DESC=Example+Description
  &amp;NOTIFYURL=http%3A%2F%2Fwww.example.com%2Fwp-admin%2Fadmin-ajax.php%3Faction%3Dipnhandler
  &amp;PAYMENTREQUEST_0_SHIPPINGAMT=20.00
  &amp;NOSHIPPING=0
  &amp;PAYMENTREQUEST_0_AMT=155
  &amp;L_BILLINGAGREEMENTDESCRIPTION0=Billing+Description
  &amp;L_PAYMENTTYPE0=Any
  &amp;ReturnUrl=http%3A%2F%2Fwww.example.com%2Freturnurl
  &amp;CANCELURL=http%3A%2F%2Fwww.example.com%2Fcancelurl
  &amp;SOLUTIONTYPE=Sole
  &amp;LANDINGPAGE=Billing
  </code></pre>
  
  <p>As you can see virtually identical.  The country does get populated correctly in all cases, just not the actual address info.  What fundamental thing am I missing??</p>