gpt4 book ai didi

php - 如何使用 PHP 禁用 PayPal 送货选项

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:10 25 4
gpt4 key购买 nike

我已经创建了一个 PayPal 沙盒交易,就像您在下面的代码中看到的那样。它工作正常。但现在我想在 paypal 站点禁用送货地址对话框。我发现了这个:

$inputfields = new \PayPal\Api\InputFields();
$inputfields->getNoShipping(1);

但我知道它不起作用。还缺少什么?

$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential( PAYPAL_CLIENT_ID, PAYPAL_CLIENT_SECRET ));

$amount = new Amount();
$amount->setCurrency('EUR');
$amount->setTotal($price);
$amount->setDetails($details);

$transaction = new Transaction();
$transaction->setAmount($amount)
->setDescription( ... )
->setNotifyUrl( ... );

$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl( ... );
->setCancelUrl( ... );

$payer = new Payer();
$payer->setPaymentMethod("paypal");

$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));

try {
$payment->create($apiContext);
} catch (\PayPal\Exception\PayPalConnectionException $e) { }

最佳答案

这是一个老问题,但我认为它仍然相关:

您必须将 InputFields 包装在配置文件中(例如 WebProfile)。

use PayPal\Api\InputFields;
use PayPal\Api\WebProfile;

$inputFields = new \PayPal\Api\InputFields();
$inputFields
->setAllowNote(true)
->setNoShipping(1)
->setAddressOverride(0);

$webProfile = new \PayPal\Api\WebProfile();
$webProfile
->setName('testname' . uniqid())
->setId("999")
->setInputFields($inputFields)
->setTemporary(true);

然后创建配置文件并将其添加到付款。

$webProfileId = $webProfile->create($apiContext)->getId("999");

$payment = new Payment();
$payment->setExperienceProfileId($webProfileId);

关于php - 如何使用 PHP 禁用 PayPal 送货选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36131945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com