当前位置: 首页 > 知识库问答 >
问题:

PayPal PHP 开发工具包的实现

南宫森
2023-03-14

我的paypal sdk版本为^1.13

我的paypal实现有错误。我遵循了本教程https://www.youtube.com/watch?v=BD1dOWIABe0

<?php
require 'vendor/autoload.php';
use PayPal\Api\Payer;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Amount;
use PayPal\Api\Transaction;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Payment;
use PayPal\Api\Details;
use PayPal\Rest\ApiContext;
Use PayPal\Auth\OAuthTokenCredential;



if(!isset($_POST['product'], $_POST['price'])){
die();
}

$clientId = 'client-id';
$clientSecret = 'client-secret';

$apiContext = new ApiContext(
new OAuthTokenCredential(
$clientId,
$clientSecret
)
);

$product = $_POST['product'];
$price = $_POST['price'];
$tax = 2.00;

$total = $price + $tax;

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

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

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

$details = new Details();
$details->setShipping($tax)
->setSubtotal($price)
->setTax(2.00);

$amount = new Amount();
$amount->setCurrency('USD')
->setTotal($total)
->setDetails($product);

$transaction = new Transaction();
$transaction->setAmount($amount)
    ->setItemList($itemList)
    ->setDescription('dsds')
    ->setInvoiceNumber(uniqid());

$baseUrl = "http://www.localhost/xc";
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("$baseUrl/pay.php?success=true")
->setCancelUrl("$baseUrl/pay.php?success=false");

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


try{

$payment->create($apiContext);

}
catch(PayPal\Exception\PayPalConnectionException $ex){
echo $ex;
die($ex);
}

echo $approvalUral = $payment->getApprovalLink(); 

我试图搜索错误,但我似乎找不到答案,所以我需要一些帮助。我做错了什么?我需要降级吗?因为教程中的视频是2年前制作的,所以我认为我需要降级,但有可能吗?

异常“PayPal\exception\PayPalConnectionException”,消息“访问时获得Http响应代码400”https://api.sandbox.paypal.com/v1/payments/payment.'在C:\xampp\htdocs\ladea\vendor\paypal\rest api sdk php\lib\paypel\Core\PayPalHttpConnection中。php:202<br>堆栈跟踪:<br>#0 C:\xampp\htdocs\ladea\vendor\paypal\rest api sdk php\lib\paypel\Transport\PayPalRestCall。php(78):PayPal\Core\PayPalHttpConnection-

谢谢你和问候。

共有2个答案

公西承
2023-03-14

我已经在你的GitHub问题中提供了这些信息,但是我将在这里提供一个答案来帮助你。

我用wiki中的信息更新了代码示例的异常输出,这提供了一些附加信息,400是一个格式错误的请求https://github.com/paypal/PayPal-PHP-SDK/wiki/exception-“PayPal\Exception\PayPalConnectionException”-消息为“Got-Http-response-code-400-when-ACCESS”。

$details = new Details();
$details->setShipping($tax)
->setSubtotal($price)
->setTax(2.00);

$amount = new Amount();
$amount->setCurrency('USD')
->setTotal($total)
->setDetails($product);

如果您的总数是项目的税和价格,则不要设置运费。也数量-

$details = new Details();
$details->setSubtotal($price)
->setTax(2.00);

$amount = new Amount();
$amount->setCurrency('USD')
->setTotal($total)
->setDetails($details);
辛成周
2023-03-14

删除您的* .paypal.com cookies。这是PayPal系统中一个不幸的错误,cookie变得太大,服务器在上面出错。您可以通过使用两种不同的浏览器来避免这个问题,例如,IE用于PayPal Live,FF用于PayPal Sandbox。也用匿名模式检查。

 类似资料:
  • 使用说明 概述 轻推JAVA-SDK是轻推开放平台面向Java开发者提供的发工具包。通过使用轻推JAVA-SDK,Java开发者可借助轻推高效地使用消息推送,安全登录等功能。 此文档面向Java开发者介绍轻推JAVA-SDK如何使用及相关注意事项。 使用步骤 步骤一:获取AppID以及AppSecret 登录轻推企业管理系统,编辑轻应用/订阅号,获取AppID以及AppSecret,若需要使用轻推

  • 该项目简称 PDK,是 Nokia 为 Symbian ^3 提供的开发工具包,基于 EPL 协议发布。 PDK 3.0.0 包含 Symbian^3 中所有的API,and is the first release to support a full UI ROM execution on ARMv5 platforms.

  • 测试是 Web 应用开发过程中不可获缺的工作。Nuxt.js 尽量帮助你简化这部分工作。 端对端测试 ava 是一个很强大的 JavaScript 测试框架,结合 jsdom,我们就可以轻松地给 nuxt 应用进行端对端测试。 首先,我们需要添加 ava 和 jsdom 作为项目的开发依赖: npm install --save-dev ava jsdom 然后在 package.json 中添加

  • 第三方 SDK C#: v2ray-dotnet-sdk 自动化工具 V2Ray 使用下列自动化工具进行编译和发布。 Bazel: 用于编译和打包。 Azure DevOps: 用于部分项目的自动化发布。 Google Cloud: 用于部分项目的自动化发布。 CloudFlare: 用于支持官网和域名解析。

  • 剖析性能 使用 Devel::NYTProf,或 Devel::DProf。 分析代码质量 使用 Perl::Critic,它基本上是针对 Perl 的 lint。 分析变量结构 使用 Data::Dumper。

  • Git https://skyao.gitbooks.io/learning-git/installation/ubuntu1604.html sudo add-apt-repository ppa:git-core/ppa sudo apt-get update sudo apt-get install git gitbook https://skyao.gitbooks.io/leaning-