【发布时间】:2021-06-09 02:05:08
【问题描述】:
在这个问题上我真的需要你的帮助,因为我不明白如何解决它或从哪里开始寻找答案。事情是这样的:
我正在尝试使用 PHP 8 将 paypal 集成到 Laravel 8。我正在使用的包是 paypal/rest-api-sdk-php v1。我知道这已被弃用,但我还没有找到任何其他解决方案来使用 v2。
好吧,每当我尝试使用 $payment->create($this->api_context) 方法创建付款时 - 顺便说一下,您可以查看我从下面获得这些示例的操作指南 - 过程给我一个错误,说以下内容
ErrorException Required parameter $path follows optional parameter $handlers
我知道这是因为在必需参数之前调用了可选参数。但老实说,我已经为此工作了好几个星期,但我仍然无法弄清楚。
类 PagoController(所有魔法开始失效的地方)
class PagoController extends Controller
{ 私有 $api_context;
public function __construct(){
$paypal_config = Config::get('paypal');
$this->api_context = new ApiContext(
new OAuthTokenCredential(
$paypal_config['client_id'],
$paypal_config['secret']
)
);
$this->api_context->setConfig($paypal_config['settings']);
//dd($this->api_context);
}
public function pagarConPaypal(Request $request, $id_conciliacion){
//Obtener valores de la conciliación
$registro_pago = Conciliacion::where('id_conciliacion', '=', $id_conciliacion)->first();
//dd($registro_pago);
//--Crea un nuevo pago
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$amount = new Amount();
$amount->setTotal($registro_pago->monto);
$amount->setCurrency('MXN');
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription($registro_pago->concepto);
$callbackURL = url('/paypal/estado');
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl($callbackURL)
->setCancelUrl($callbackURL);
$payment = new Payment();
$payment->setIntent('Sale')
->setPayer($payer)
->setTransactions(array($transaction))
->setRedirectUrls($redirectUrls);
//dd($payment);
//--Aplica el pago creado
try {
$payment->create($this->api_context, null);
// echo $payment;
return redirect()->away($payment->getApprovalLink());
}
catch (PayPalConnectionException $ex) {
// This will print the detailed information on the exception.
//REALLY HELPFUL FOR DEBUGGING
echo $ex->getData();
}
任何帮助将不胜感激。提前致谢
【问题讨论】:
-
“我使用的软件包是 paypal/rest-api-sdk-php v1。我知道这已被弃用,但我还没有找到任何其他解决方案来使用 v2。”唔?使用当前的 Checkout-PHP-SDK。您正在做的事情已被弃用并且没有支持。
-
当我只想让用户重定向到贝宝付款时安装它可以吗?我希望用户单击一个按钮进行支付,将他们重定向到贝宝以授权付款并自己执行付款......只是问,因为这是我第一次使用贝宝 for laravel
标签: php laravel paypal sdk php-8