In the middle of a PayPal Checkout Express (client-side) javascript, I need to use AJAX to call the output of a PHP page, but I'm a bit stuck.

The PHP page:

```
$data = array('retid' => $username);
header('Content-Type: application/json');
echo json_encode($data);

```

Now inside the other javascript page I simply want to capture the PHP variable `$username`, via AJAX, as a javascript variable.

```
<?php
$IDToPassPlus = ($id.'&retid=');
?>

<script>

//It's the inclusion of this part, which tries to get the "retid" js variable, that stops the script from rendering the Paypal button:
$.ajax({
type: 'POST',
url: 'test-call.php',
dataType: 'json',
success: function(response) {
var retid = response.data.retid; 
},
});

paypal.Button.render({
env: 'sandbox',

client: {
sandbox:    'xxxxx',
production: 'xxxxx'
},

commit: true,

style: {
layout: 'vertical',
size:   'responsive',
shape:  'rect',
color:  'gold'
},

payment: function(data, actions) {
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: '0.99', currency: 'GBP' }
}
],
redirect_urls: {
'cancel_url': 'pay-return-cancel.php?id=<?php echo $IDToPassPlus; ?>'+retid
}
}
});
},

onAuthorize: function(data, actions, error) {
return actions.payment.execute().then(function() {
window.alert('Payment Complete!');
window.location.replace('test-return.php?id=<?php echo $IDToPassPlus; ?>'+retid);
if (error === 'INSTRUMENT_DECLINED') {
actions.restart();
}
});
},

onCancel: function(data, actions) {
return actions.redirect();
},

onError: function(err) {
window.location.replace('pay-return-error.php?id=<?php echo $id; ?>'+retid);
}

}, '#paypal-button');

</script>

```

Without the contributor's AJAX suggestion, the button works perfectly. But I'm trying to pass a variable from a PHP page by way of AJAX, to add it onto the redirects.