gpt4 book ai didi

php - Paypal 与 Laravel 5.1 的集成

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

我正在尝试将支付网关 (paypal) 与 laravel 5.1 集成。我找到了一些适用于 laravel 4 的解决方案,但没有找到适用于 laravel 5.0 及更高版本的解决方案。

我一直在遵循此链接中提到的所有步骤。 xroot/laravel-paypalpayment

但是我在 PaypalPaymentController.php 第 10 行中得到 FatalErrorException:

我附上了我的 Paypal 集成代码和错误的屏幕截图。

Router.php

resource('payment','PaymentController');

app.php

Anouar\Paypalpayment\PaypalpaymentServiceProvider::class,
'Paypalpayment' => Anouar\Paypalpayment\Facades\PaypalPayment::class,

PaypalPaymentController.php

    <?php
namespace my_app\Http\Controllers;
use Illuminate\Support\Facades\Cache;
use Illuminate\Http\Request;
use my_app\Http\Requests;
use my_app\Http\Controllers\Controller;
use Paypalpayment;
class PaypalPaymentController extends Facades {
private $_apiContext;
private $_ClientId=''/* ... */;
private $_ClientSecret=''/* ... */;

public function __construct(){
// ### Api Context
// Pass in a `ApiContext` object to authenticate
// the call. You can also send a unique request id
// (that ensures idempotency). The SDK generates
// a request id if you do not pass one explicitly.
$this->_apiContext = Paypalpayment:: ApiContext(
Paypalpayment::OAuthTokenCredential(
$this->_ClientId,
$this->_ClientSecret
)
);
// dynamic configuration instead of using sdk_config.ini
$this->_apiContext->setConfig(array(
'mode' => 'sandbox',
'http.ConnectionTimeOut' => 30,
'log.LogEnabled' => true,
'log.FileName' => __DIR__.'/../PayPal.log',
'log.LogLevel' => 'FINE'
));
}
/*
* Create payment using credit card
* url:payment/create
*/
public function create(){
// ### Address
// Base Address object used as shipping or billing
// address in a payment. [Optional]
$addr= Paypalpayment::Address();
$addr->setLine1(/* ... */);
$addr->setLine2(/* ... */);
$addr->setCity(/* ... */);
$addr->setState(/* ... */);
$addr->setPostal_code(/* ... */);
$addr->setCountry_code(/* ... */);
$addr->setPhone(/* ... */);
// ### CreditCard
// A resource representing a credit card that can be
// used to fund a payment.
$card = Paypalpayment::CreditCard();
$card->setType(/* ... */);
$card->setNumber(/* ... */);
$card->setExpire_month(/* ... */);
$card->setExpire_year(/* ... */);
$card->setCvv2(/* ... */);
$card->setFirst_name(/* ... */);
$card->setLast_name(/* ... */);
$card->setBilling_address($addr);
// ### FundingInstrument
// A resource representing a Payer's funding instrument.
// Use a Payer ID (A unique identifier of the payer generated
// and provided by the facilitator. This is required when
// creating or using a tokenized funding instrument)
// and the `CreditCardDetails`
$fi = Paypalpayment::FundingInstrument();
$fi->setCredit_card($card);
// ### Payer
// A resource representing a Payer that funds a payment
// Use the List of `FundingInstrument` and the Payment Method
// as 'credit_card'
$payer = Paypalpayment::Payer();
$payer->setPayment_method("credit_card");
$payer->setFunding_instruments(array($fi));
// ### Amount
// Let's you specify a payment amount.
$amount = Paypalpayment:: Amount();
$amount->setCurrency("USD");
$amount->setTotal("1.00");
// ### Transaction
// A transaction defines the contract of a
// payment - what is the payment for and who
// is fulfilling it. Transaction is created with
// a `Payee` and `Amount` types
$transaction = Paypalpayment:: Transaction();
$transaction->setAmount($amount);
$transaction->setDescription("This is the payment description.");
// ### Payment
// A Payment Resource; create one using
// the above types and intent as 'sale'
$payment = Paypalpayment:: Payment();
$payment->setIntent("sale");
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
// ### Create Payment
// Create a payment by posting to the APIService
// using a valid ApiContext
// The return object contains the status;
try {
$payment->create($this->_apiContext);
} catch (\PPConnectionException $ex) {
return "Exception: " . $ex->getMessage() . PHP_EOL;
var_dump($ex->getData());
exit(1);
}
$response=$payment->toArray();

echo"<pre>";
print_r($response);
//var_dump($payment->getId());
//print_r($payment->toArray());//$payment->toJson();
}
/*
Use this call to get a list of payments.
url:payment/
*/
public function index(){
echo "<pre>";
$payments = Paypalpayment::all(array('count' => 1, 'start_index' => 0),$this->_apiContext);
print_r($payments);
}
}

我得到的错误: enter image description here

最佳答案

我不知道你的代码库,但如果你的类是一个 Controller ,你为什么要扩展一个 Facades 类?问题是您的代码正在寻找 my_app\Http\Controllers 命名空间中的 Facades 类。

删除该行或正确导入该类将解决您的问题。但是,我认为您可能需要重新考虑您的设计。

关于php - Paypal 与 Laravel 5.1 的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33018105/

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