Paypal使用phpcurl通过支付密钥获取交易详细信息

2023-12-04

android paypal 付款成功后我得到回复。回应如下。

{
    "response": {
       "state": "approved",
       "id": "PAY-6PU626847B294842SKPEWXHY",
 "create_time": "2014-07-18T18:46:55Z",
        "intent": "sale"
     },
   "client": {
       "platform": "Android",
       "paypal_sdk_version": "2.11.0",
         "product_name": "PayPal-Android-SDK",
        "environment": "mock"
    },
    "response_type": "payment"
 }
 {
   "short_description": "Pay List Payment",
   "amount": "100",
    "intent": "sale",
    "currency_code": "USD"
 }

然后我用PAY-6PU626847B294842SKPEWXHY支付密钥并使用 PHP curl GET 请求和以下代码获取交易详细信息。

$accessToken='<Access Token>';
$curl = curl_init("https://api.sandbox.paypal.com/v1/payments/payment/PAY-6PU626847B294842SKPEWXHY");
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer ' . $accessToken,
    'Accept: application/json',
    'Content-Type: application/json'
));
$response = curl_exec($curl);

print_r($response);
exit;

点击此按钮后,我得到以下响应,但未获取交易详细信息。

{"name":"INVALID_RESOURCE_ID","message":"The requested resource ID was not found","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#INVALID_RESOURCE_ID","debug_id":"ddc1e3a55f10e"}

任何人有想法提前致谢。


以下内容对我有用。

1. 进行 CURL POST 获取访问令牌

$uri = 'https://api.sandbox.paypal.com/v1/oauth2/token';
    //for live production use $uri = 'https://api.paypal.com/v1/oauth2/token';

$clientId = '<YOUR-CLIENT-ID-HERE>';
$secret = '<YOUR-SECRET-HERE>';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSLVERSION , 6); //NEW ADDITION
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, $clientId.":".$secret);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");

$result = curl_exec($ch);
$access_token = '';
if(empty($result))die("Error: No response.");
else
{
    $json = json_decode($result);
    $access_token = $json->access_token;
}

curl_close($ch);

2. 进行 CURL POST 以获取交易详细信息,例如付款状态、金额、日期等。

$url = "https://api.sandbox.paypal.com/v2/payments/captures/<YOUR-PAYMENT-ID-HERE>";
$accessToken=$access_token;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer ' . $accessToken,
    'Accept: application/json',
    'Content-Type: application/json'
));
$response = curl_exec($curl);

print_r($response);
exit;

3. 进行 CURL POST 以获取更多交易详细信息(这会提供比步骤 2 更详细的响应。因此您可以使用它来代替步骤 2)

$url = "https://api.sandbox.paypal.com/v2/checkout/orders/<YOUR-order-ID-HERE>";
$accessToken=$access_token;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer ' . $accessToken,
    'Accept: application/json',
    'Content-Type: application/json'
));
$response = curl_exec($curl);

print_r($response);
exit;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Paypal使用phpcurl通过支付密钥获取交易详细信息 的相关文章

  • 如何将 JSON 数据从 Android 发送到 php url?

    我想将登录信息从我的应用程序发送到 php url 因为这我的应用程序将崩溃 任何人都可以帮助我解决这个问题 这是我的服务器登录方法 我想将数据发送到此登录方法 Method public method login Parameters 3
  • 具有挑战性的问题 - 使用 PHP 对 XML 数据进行排序

    我有 xml 文件 其中包含大量产品数据 我需要根据我的字段 ProductRange 的数据对我的产品进行排序 ProductRange urldecode GET Range XML 文件数据
  • 如何使用 php 从字符串中提取日期

    我需要从字符串中提取日期 下面是我的代码和字符串 str Updated status to Masters Software Engineering Enrolled Documents to Send on 03 06 2014 14
  • 如何从 PHP 中的字符串创建可能的字符串组合?

    如何从 PHP 中的字符串创建可能的字符串组合 Exp input abc output array 0 gt a 1 gt ab 2 gt abc 3 gt ac 4 gt acb 5 gt b 6 gt ba 7 gt bac 8 gt
  • 从远程托管上的 PHP 获取 PHP 错误日志

    是否有 PHP 函数或其他方式以字符串形式获取 PHP 错误日志 我需要这个 因为我无法访问在其他人的服务器上运行的站点的错误日志 他提出通过电子邮件将错误日志发送给我 但这不太方便 有什么方法可以将错误日志输出到 PHP 页面吗 我意识到
  • 如何在PHP中获取div中的所有链接

    我想从另一个网站打开一个页面 并提取一个中的所有链接 href div of class layout 2 2 在此页面中 我如何使用 PHP 来做到这一点 我想复制layout 2 2中的每个链接this https url 网页 这是我
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它
  • 间歇性 PHP 抽象类错误

    我已经为此奋斗了一段时间 但无法弄清楚 也许其他人也有 或者 Slim PHP Apache 等这里有更深层次的问题 在正常工作几个小时后 我的 Slim 安装将开始给出所有路线均如此 致命错误 类 Slim Collection 包含 1
  • 安装 OCI8:如何纠正“使用未定义常量 OCI_COMMIT_ON_SUCCESS”错误?

    我正在尝试在 RedHat 服务器 RHEL7 上为我的 Apache 服务器安装 OCI8 此时 当我尝试使用 Symphony 连接到我的服务器时 出现以下错误 异常 ErrorException 使用未定义的常量 OCI COMMIT
  • php动态创建子域的问题

    你好 我通过以下代码在 php 中创建子域 function subd host port ownername passw request sock fsockopen localhost 2082 if sock print Socket
  • Doctrine 装置如何覆盖 purger 类?

    From doctrine fixture bundle the console doctrine fixtures load n命令定义如下 https github com doctrine DoctrineFixturesBundle
  • 这是依赖注入吗?这是一种不好的做法吗?

    我有一个小框架 我是这样编码的 我不确定这是否称为依赖注入 我不知道它是否像设计模式 我也不知道并且想知道是否通过 this因为 param 是一种不好的做法 看看这个 不是一个有效的示例 只是将这些代码写入浏览器中以供解释 This is
  • 如何使用 AJAX/jQuery 显示打印内容?

    所以我试图理解整个 AJAX jQuery 的事情 现在 当我单独运行这个 PHP 脚本时 我必须等待并观察轮子旋转 直到循环完成然后加载 while row mysql fetch array res postcode to storm
  • 如何编写 Perl 脚本来使用 curl 处理 URL?

    我有一个非常简单的任务 我有一个 crontab 每小时运行一个脚本 该脚本旨在简单地处理 URL 这就是我所拥有的 这不起作用 我收到语法错误 usr bin perl curl http domain com page html 我已经
  • PHP 的 mb_internal_encoding 实际上是做什么的?

    根据 PHP 网站 http www php net manual en function mb internal encoding php它这样做 coding 是用于 HTTP 输入的字符编码名称 字符编码转换 HTTP输出字符编码 转
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou
  • 为什么 LinkedIn v2 Share API 在任何 v2/shares 端点上给出权限不足的错误?

    当我调用任何 v2 LinkedIn 共享 API 端点时 例如https api linkedin com v2 socialActions https api linkedin com v2 socialActions share UR
  • 通过php将mp3转换为ogg

    我有一个网站 用户可以上传音乐并将其转换为 mp3 但我需要 mp3 和 ogg 文件支持才能以 html5 播放音乐 那么 有没有可以将mp3转换为ogg的php脚本呢 使用 ffmpeg 您可以直接从 php 脚本执行命令
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4

随机推荐

  • 使用 Bouncy Castle c# 创建 CRL 文件

    我已经使用 Bouncy Castle 构建了自己的根 CA 证书 并使用它来构建其他证书 我想使用 Bouncy Castle C 构建一个证书吊销列表 CRL 以包含已吊销的证书列表 例子 Retrieve CA root certif
  • 多项式函数的 LinEst vba

    我正在尝试使用 vba 计算多项式回归 首先 我尝试了 y x 2 b OUTPUT WorksheetFunction Application LinEst A Application Power C 2 True True 其中 A 和
  • 显示:弯曲和图像大小调整/居中

    我在用display flex 使图像居中并max width max height来调整它的大小 其中有几张图像 有些宽 有些高 有些正方形 我想确保它们的尺寸都足够大以供查看 例如 我假设如果图像达到最大宽度而不是高度 则它应该与宽度保
  • 减少()有什么问题?

    关于Python 3 0中reduce 函数的变化以及如何删除它 网上似乎有很多激烈的讨论 我有点难以理解为什么会出现这种情况 我发现在各种情况下使用它是相当合理的 如果这种蔑视只是主观的 我无法想象会有这么多人关心它 我缺少什么 减少 有
  • 使用 ggsave 将系统时间和日期添加到 pdf

    我有一个 pdf 文件 我试图打印该 pdf 文件名称上的时间和日期 我尝试使用很多不同的方法 但仍然一无所获 你能帮我吗 打印为pdf的代码如下 ggsave Title of file pdf marrangeGrob grobs pl
  • 加载、保存然后再次加载图像会抛出“GDI+ 中发生一般错误”

    This 似乎犯了臭名昭著的错误 我记得不久前得到了不同的代码 但是它回来了 复仇 但有一些我似乎无法弄清楚的新代码 绝对是generic 一定 The Goal 我正在尝试构建一个表单 允许用户 选择一个图像 按 保存 关闭表单 然后将图
  • Android Studio导入facebook库奥德赛

    我正在尝试通过 Android Studio 中的 Facebook 库在我的应用程序中使用 Facebook 登录 在学习了 9 个关于如何在 Android Studio 0 6 1 上导入该库的教程之后 在单击 清理项目 之前一切都很
  • 使用 ColdFusion 的 SAML 服务提供商

    我正在尝试使用 ColdFusion 9 对 SAML 2 0 进行测试 我想要的只是使用 SAML 生成的 xml 并进行处理 我正在关注这里给出的文章http blog tagworldwide com p 19 存档版本 但是当我启动
  • WordPress 全局 $post 变量为空

    我正在开发一个 WordPress 插件 管理背景图像 当我尝试使用 global post print r post 该对象是空的 可能有一些必需的数据 我不知道是什么 如果您知道请帮助我 WordPress 全局变量 post包含当前的
  • 如何优雅地终止一个进程?

    我想终止多个进程 但我想让每个进程都有机会保存其数据 询问用户有关保存文件的信息 甚至忽略关闭请求 So TerminateProcess这是不可能的 因为它会立即终止进程 另一种方法是使用SendMessage PostMessage发送
  • case 类私有构造函数 - 需要 readResolve 实现

    我只是在谷歌上搜索如何使用私有构造函数创建案例类 以下是执行此操作的正确方法 如中所述 如何在案例类同伴中覆盖 apply object A def apply s String i Int A new A s toUpperCase i
  • 创建列表视图并从 flutter 上的 firestore 获取数据

    我有一个应用程序 我需要将这些数据从 firestore 数据库一一获取到 flutter 上的 Listview 我尝试了很多东西 例如流构建器和未来构建器 但我无法得到 因为我的数据库使用嵌套数据如果您有任何建议 请告诉我 非常感谢 有
  • 需要 preg_match_all 链接

    我有一个像这样的字符串 string some text http dvz local index index regionId 28 http stuff kiev ua roadmap page php http 192 168 3 1
  • 如何使用查询生成器在 Symfony 4 中连接外部 ID 上的多个实体?

    我正在努力学习 Symfony 今天我正在关注关联教程 我决定制作一个小应用程序 包括房屋 厨房 卧室和橱柜 我 尝试 使用draw io制作一个小的类图 以便为您提供更好的想法 所以基本上一栋房子可以有多个卧室和多个厨房 每个厨房可以有多
  • Javascript - 为什么从函数返回 array.push(x) 不会将元素 x 推入数组?

    我想知道为什么以下功能有效 function foo list var array array push list return array gt foo 1 2 3 1 2 3 而这个则没有 function foo list var a
  • Python 和 .Net 集成选项

    我想将 Python 与 C 集成 我发现两种方法使用进程间通信和 IronPython 进程间通信需要在所有客户端计算机上安装 Python exe 因此这不是一个可行的解决方案 我们开始使用 IronPython 但它目前仅支持 2 7
  • PHP 类 - 如何仅连接一次数据库

    我尝试做一个简单的 SQL 类 只有一个问题 function classDBREAD table where value back link mysql connect 127 0 0 1 XXXX XXXXXX mysql select
  • 如何忽略 LNK2005 和 LNK1169?

    因此 我有一个使用外部库的 Visual Studio 2010 项目 为了在没有 LNK2005 的情况下编译它 我必须在链接器设置中调整库的顺序 我让它在发布模式下编译得很好 但出于某种原因 我无法在调试中没有 LNK 错误的情况下编译
  • 如何在单击按钮时从数据库将新行添加到 jTable 中而不清除现有行

    如何在单击按钮时从数据库将新行添加到 jTable 中而不清除 jTable 中的现有行 我尝试了很多方法 但没有成功 帮助 String SQL SELECT name price FROM items WHERE ID jTextFie
  • Paypal使用phpcurl通过支付密钥获取交易详细信息

    android paypal 付款成功后我得到回复 回应如下 response state approved id PAY 6PU626847B294842SKPEWXHY create time 2014 07 18T18 46 55Z