# 微信支付 - 共享收貨地址
共享收貨地址依賴于 **用戶AccessToken** 對象,因此必需先授權獲取 AccessToken:
```php
use Thenbsp\Wechat\OAuth\Client;
$client = new Client($wechat);
$callbackUrl = 'Your callback url';
if( !isset($_GET['code']) ) {
header('Location: '.$client->getAuthorizeUrl($callbackUrl));
} else {
$accessToken = $client->getAccessToken($_GET['code']);
}
```
注入用戶 AccessToken 并獲取配置:
```php
$o = new Address($accessToken);
$configJSON = $o->getConfig();
```
將配置注入 WeixinJSBridge:
```javascript
var getAddress = function() {
WeixinJSBridge.invoke('editAddress', <?php echo $configJSON; ?>, function(res) {
switch(res.err_msg) {
case 'edit_address:ok':
alert('獲取編輯收貨地址成功!');
// res.userName 姓名
// res.telNumber 手機號
// res.proviceFirstStageName 省份
// res.addressCitySecondStageName 城市
// res.addressDetailInfo 詳細地址
// res.addressPostalCode 郵編
// res.nationalCode 收貨地址國家碼
break;
case 'edit_address:fail':
alert('獲取編輯收貨地址失敗!');
break;
case 'edit_address:cancel':
alert('您已取消獲取地址!');
break;
default:
alert(JSON.stringify(res));
break;
}
}
}
```
```html
<button type="button" onclick="getAddress()">選擇收貨地址</button>
```
詳細用法請查看 [/example/payment-address.php](/example/payment-address.php)