php - Paypal PHP API SDK - 为购买人设置电子邮件地址
问题描述
我想为购买产品的人设置电子邮件地址。这是我到目前为止所得到的(根据文档):
$payer = new \PayPal\Api\Payer();
$payer ->setPaymentMethod('paypal');
$amount = new \PayPal\Api\Amount();
$amount->setTotal($order['totals']['grand']);
$amount->setCurrency('GBP');
$itemList = new \PayPal\Api\ItemList();
$shipping_address = new \PayPal\Api\ShippingAddress();
$shipping_address->setRecipientName($order['shipping']['name']);
$shipping_address->setLine1($order['billing']['add1']);
$shipping_address->setLine2($order['billing']['add2']);
$shipping_address->setCity($order['shipping']['add3']);
$shipping_address->setPostalCode($order['shipping']['postcode']);
$shipping_address->setCountryCode(countryData($order['shipping']['countryID'],"code"));
$shipping_address->setPhone($order['shipping']['telephone']);
$itemList->setShippingAddress($shipping_address);
$transaction = new \PayPal\Api\Transaction();
$transaction->setAmount($amount)->setItemList($itemList);
$redirectUrls = new \PayPal\Api\RedirectUrls();
$redirectUrls ->setReturnUrl("https://example.com/shop/thank-you/")
->setCancelUrl("https://example.com/shop/cancelled/");
$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setTransactions(array($transaction))
->setRedirectUrls($redirectUrls);
try {
$payment->create($apiContext);
predump(json_decode($payment));
echo "\n\n<a href='".$payment->getApprovalLink()."'>Redirect user to approval_url</a>\n";
}
catch (\PayPal\Exception\PayPalConnectionException $ex) {
// This will print the detailed information on the exception.
//REALLY HELPFUL FOR DEBUGGING
echo $ex->getData();
}
据我从 Paypal 发布的大量文档以及谷歌搜索的许多不同页面中收集到的信息,我想在 Payer() ( $payer
) 类中设置电子邮件地址 - 我该怎么做?
请帮忙。
解决方案
我认为您正在寻找PayerInfo,这应该可以:
$payerInfo = new \PayPal\Api\PayerInfo();
$payerInfo ->setEmail('example@email.com');
$payer = new \PayPal\Api\Payer();
$payer ->setPaymentMethod('paypal');
$payer ->setPayerInfo($payerInfo);
推荐阅读
- lisp - Lisp,计算混合表达式
- flutter - Flutter中WIFI可用时缓存和刷新API调用数据的最佳方法?
- mysql - 选择除子查询中指定的行之外的所有行
- c - 从 C 中的 Cygwin 路径中退出
- database - 计算 B+ 树内存使用量(最小值、最大值)
- javascript - 打字稿命名空间参考不起作用
- scala - 如何在 apache zeppelin 0.8.2 上使用带有 Scala 2.12 的 spark 将 spark 3.x 提交给 yarn?
- java - 为什么在尝试清除 Canvas 时出现错误(Nullpointerexception)?
- vue-component - 在单独的 Vue 组件中单击按钮加载另一个 Vue 组件
- r - R lme4模型:计算连续预测器的最大值-最小值之间的效果大小