gpt4 book ai didi

php - 设置 PayPal PHP 应用程序上线

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

我遵循了一些关于如何使用 PHP SDK 使用 PayPal 向人们收费的教程。只要我处于测试模式,这一切都非常有效,但如果我将我的 API key 更改为“实时” key ,我只会收到 HTTP 错误 401。我知道这是因为我必须将应用程序设置为“实时”。

我遵循了 PayPal GitHub 页面上的指南。( https://github.com/paypal/PayPal-PHP-SDK/wiki/Going-Live )

别担心,我不是为实际的 Web 做这件事,我只是想回到 PHP,这让我发疯,我无法配置这个脚本。

我有以下“charge.php”:

    require 'app/start.php';
use PayPal\Api\Payer;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Details;
use PayPal\Api\Amount;
use PayPal\Api\Transaction;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Payment;

if(!isset($_POST['product'])){
echo $_POST['product'];
die("Nope");
}

$product="Premium";
$price="1.00";
$shipping="0.00";
$total = $price+$shipping;

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

$item = new Item();
$item->setName($product)
->setCurrency('EUR')
->setQuantity(1)
->setPrice($price);

$itemList = new ItemList();
$itemList->setItems([$item]);

$details = new Details();
$details->setShipping($shipping)
->setSubtotal($price);

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

$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription($product)
//UserID
->setInvoiceNumber(rand());

$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl('/paid.php?sucess=true')
->setCancelUrl('/paid.php?sucess=false');

$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions([$transaction]);

try{
$payment->create($paypal);

} catch (Exception $e){
die($e);
}

$approvalUrl=$payment->getApprovalLink();
header("Location: {$approvalUrl}");

还有下面的“start.php”,其中包含我的 API 凭据:

require 'vendor/autoload.php';

define('SITE_URL', '/charge.php');

$paypal = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'xx',
'xx'
)
);

有人可以给我提示,我需要在哪里配置应用程序以使用 PayPays Live API?我在 carge.php 中尝试过,但只收到 PHP 错误,即我使用了 undefined variable 。

我正在谈论来自 PayPals Github 的以下 Snipit:

$apiContext->setConfig(
array(
...
'mode' => 'live',
...
)
);

任何帮助将不胜感激。干杯,弗洛

最佳答案

好吧,我明白了。对于任何有同样问题的人:

要使配置数组起作用,您还必须将 Nameclass 放在那里。所以正确的“start.php”应该是这样的:

<?php

use \PayPal\Rest\ApiContext;
use \PayPal\Auth\OAuthTokenCredential;

require 'vendor/autoload.php';

define('SITE_URL', 'charge_paypal.php');

$paypal = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'x',
'x'
)
);

$paypal->setConfig([
'mode' => 'live',
'log.LogEnabled' => true,
'log.FileName' => 'PayPal.log',
'log.LogLevel' => 'FINE'
]);

?>

关于php - 设置 PayPal PHP 应用程序上线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51727931/

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