gpt4 book ai didi

php - 如何使用 Yii2 的 PayPal 扩展在 yii2 中集成支付网关

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

如何在yii2中使用paypal扩展。我正在使用此链接
https://github.com/marciocamello/yii2-paypal
我安装了扩展程序,还在配置文件中添加了代码。

但没有更多信息说明下一步该做什么。所以请帮助我。

谢谢

最佳答案

不需要为此使用扩展。您可以简单地安装 paypal/rest-api-sdk-php打包并执行以下步骤。

1。创建一个组件将 Paypal 粘合到 Yii2

在您的@app 目录中创建一个components 文件夹。如果您使用的是基本模板,则这是与 webroot 相同的文件夹;在高级模板中,此文件夹位于您要启用付款的应用中。

使用以下内容创建一个 PHP 类文件(例如 CashMoney)

use yii\base\Component;

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

class CashMoney extends Component {
public $client_id;
public $client_secret;
private $apiContext; // paypal's API context

// override Yii's object init()
function init() {
$this->apiContext = new ApiContext(
new OAuthTokenCredential($this->client_id, $this->client_secret)
);
}

public function getContext() {
return $this->apiContext;
}
}

这足以开始。您可以稍后选择添加特定于 PayPal 的其他配置。

2。用 Yii2 注册你的胶水组件

在您的 app/config/main.php(或 app/config/main-local.php)中,包含以下内容以注册 CashMoney 组件。

'components' => [
...
'cm' => [ // bad abbreviation of "CashMoney"; not sustainable long-term
'class' => 'app/components/CashMoney', // note: this has to correspond with the newly created folder, else you'd get a ReflectionError

// Next up, we set the public parameters of the class
'client_id' => 'YOUR-CLIENT-ID-FROM-PAYPAL',
'client_secret' => 'YOUR-CLIENT-SECRET-FROM-PAYPAL',
// You may choose to include other configuration options from PayPal
// as they have specified in the documentation
],
...
]

现在我们的支付组件注册为 CashMoney,我们可以使用 Yii::$app->cm 访问它。很酷吧?

3。调用 API

收件人Make Your First API call在 Yii2 中,

打开您要在其中处理付款的 Controller 操作,并包含以下内容

use Yii;
...
use PayPal\Api\CreditCard;
use PayPal\Exception\PaypalConnectionException;

class PaymentsController { // or whatever yours is called
...
public function actionMakePayments { // or whatever yours is called
...
$card = new PayPalCreditCard;
$card->setType('visa')
->setNumber('4111111111111111')
->setExpireMonth('06')
->setExpireYear('2018')
->setCvv2('782')
->setFirstName('Richie')
->setLastName('Richardson');

try {
$card->create(Yii::$app->cm->getContext());
// ...and for debugging purposes
echo '<pre>';
var_dump('Success scenario');
echo $card;
} catch (PayPalConnectionException) {
echo '<pre>';
var_dump('Failure scenario');
echo $e;
}
...
}

...

}

预期输出与 PayPal 文档中的类似。

建立连接后,您应该能够执行其他任务。

关于php - 如何使用 Yii2 的 PayPal 扩展在 yii2 中集成支付网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28343518/

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