PayPal REST API 返回信用卡令牌的 500 服务器错误

2023-11-21

我正在尝试让 PayPal REST api 使用存储在保险库中的信用卡创建付款。但是,每当我尝试使用金库中的卡进行付款时,PayPal 的 API 都会挂起大约半分钟,然后给出以下 500 错误:

Exception: Got Http response code 500 when accessing https://api.sandbox.paypal.com/v1/payments/payment.
{"name":"INTERNAL_SERVICE_ERROR","message":"An internal service error has occurred","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#INTERNAL_SERVICE_ERROR","debug_id":"e3c779ea99f73"}

这是我正在使用的代码(如果这里的信息太多,我很抱歉,我不知道哪些信息与我的问题相关)

<?php
include("bootstrap.php"); //Sample bootstrap file configured with my clientId and Secret, creates $apiContext
use PayPal\Api\CreditCard;
use PayPal\Api\Payer;
use PayPal\Api\FundingInstrument;
use PayPal\Api\Details;
use PayPal\Api\Amount;
use PayPal\Api\Transaction;
use PayPal\Api\Payment;
use PayPal\Api\Address;
use PayPal\Api\CreditCardToken;

$useVault = true;

$addr = new Address();
$addr->setLine1('52 N Main ST');
$addr->setCity('Johnstown');
$addr->setCountry_code('US');
$addr->setPostal_code('43210');
$addr->setState('OH');


$card = new CreditCard();
//Also used PayPal Sandbox account number here
$card->setNumber('4111111111111111');
$card->setExpire_month('03');
$card->setExpire_year('2019');
$card->setCvv2('123');
$card->setFirst_name('Joe');
$card->setLast_name('Shopper');
$card->setType('visa');
$card->setBilling_address($addr);
$fi = new FundingInstrument();

//Setting $useVault to false here
// will attempt to make the payment without storing the CC in the vault
// Which works. having it use the vault will return a 500 error
if($useVault){
    //use Store the CC in the vault
    $response = $card->create($apiContext);
    $ccToken = new CreditCartToken();
    $ccToken->setCredit_card_id($response->id);
    $fi->setCredit_card_token($creditCardToken);
}else{
    $fi->setCredit_card($card);
}


$payer = new Payer();
$payer->setPayment_method('credit_card');
$payer->setFunding_instruments(array($fi));
$amountDetails = new Details();
$amountDetails->setSubtotal('7.41');
$amountDetails->setTax('0.03');
$amountDetails->setShipping('0.03');


$amount = new Amount();
$amount->setCurrency('USD');
$amount->setTotal('7.47');
$amount->setDetails($amountDetails);
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription('This is the payment transaction description.');

$payment = new Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
try {
    var_dump($payment->create($apiContext));
} catch (PayPal\Exception\PPConnectionException $ex) {
    echo "Exception: " . $ex->getMessage() . PHP_EOL;
    var_dump($ex->getData());
    exit(1);
}

如果我改变$useVault to false然后将进行付款,交易将显示在开发者沙箱中。 我用了本指南位于 dev-tools.paypal.com它似乎和我有同样的问题(我进入了 4 步中的第 3 步,它打印出发生了内部服务错误


当使用经常使用的测试 CC(如您正在使用的 CC)时,Paypal 有时会抛出错误 500,因此请尝试另一个或仅尝试使用真实的 CC 号码,只要您处于沙盒模式,它就不会向您收费或类似的费用。

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

PayPal REST API 返回信用卡令牌的 500 服务器错误 的相关文章

  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • 如何在 Python 中包含 PHP 脚本?

    我有一个 PHP 脚本 news generator php 当我包含它时 它会抓取一堆新闻项并打印它们 现在 我在我的网站 CGI 中使用 Python 当我使用 PHP 时 我在 新闻 页面上使用了这样的内容 为了简单起见 我删掉了这个
  • 按通用值对值进行分组:userid 和 ipaddress

    我正在解决数据库中的一个问题 我正在尝试查找使用多个帐户的用户 我有一个用户 ID 和使用的 IP 地址的列表 如下所示 用户 ID IP 地址 1 IP 地址 13 2 IP 地址 23 1 IP 地址 12 4 IP地址56 9 IP
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • 在字符串中间添加一个字符

    可能有一个简单的解决方案可以解决这个问题 但会引起面部表情 我将时间存储为 4 个字符长的字符串 即 1300 我试图将该字符串显示为 13 00 我觉得必须有一个比我现在正在做的更优雅的解决方案 我目前有 startTime get fi
  • 负载平衡集群中的 PHP 会话 - 如何?

    好的 我得到了这个完全罕见的负载平衡 PHP 网站的独特场景 令人遗憾的是 它过去没有进行负载平衡 现在我们开始遇到问题 目前唯一的问题是 PHP 会话 当然 一开始没有人想到这个问题 因此 PHP 会话配置保留为默认值 因此 两台服务器都
  • 使用 php 在多维数组中按键排序[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中对多维数组进行排序 https stackoverflow com questions 2059255 sorting multidimensional array in php 如何在
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 如何使用 Twig 的属性函数访问嵌套对象属性

    我试图使用一个树枝变量来访问另一个树枝变量的属性 直到我找到 属性 函数为止 该变量才起作用 除了需要访问嵌套属性的情况外 效果很好 当包含属性的变量实际上是对象 属性时 它不起作用 例如 attribute object1 variabl
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • phpunit测试调用其他需要mock的类方法的方法

    我正在尝试创建一个非常标准的单元测试 在其中调用一个方法并断言它的响应 但是我正在测试的方法调用同一类中的另一个方法 该方法做了一些繁重的工作 我想模拟该方法 但仍按原样执行我正在测试的方法 仅使用从调用另一种方法返回的模拟值 我简化了示例
  • 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

    我已经安装了 OpenSSL 1 0 1j usr local ssl现在我尝试使用此版本的 OpenSSL 编译 PHP 5 5 19 这是我的配置过程 export CFLAGS arch x86 64 export CXXFLAGS
  • 保存多对多关系,同步/附加不存在?

    我有以下两个多对多关系的模型 use Illuminate Database Eloquent Model class Permission extends Model The database table used by the mode
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio

随机推荐

  • 从 64 位整数秒计数创建 boost::posix_time::ptime 对象

    我有一个 32 位 Linux 系统 在其中我必须记录时间戳为距 1901 01 01 00 00 00 的 UINT32 秒偏移量的数据 计算时间戳对我来说没问题 因为我可以使用 64 位ticks 计数器和ticks per secon
  • 使用 matplotlib 添加自定义刻度

    我想在matplotlib数字 目前 我使用以下命令添加刻度 例如 axis set yticks 0 5 0 6 0 7 0 8 0 9 1 0 我希望能够做到 axis set yticks 1 0 some custom text 所
  • Grails 2.x createCriteria 'or' 不适用于嵌套关联

    似乎在 Grails 2 x 中 如果您有一个域类关联 并且您尝试使用以下命令运行 createCriteriaor在该关系 另一个查询上 or将忽略其他查询并仅使用嵌套关联的结果 我意识到这可能有点令人困惑 所以这里是一个例子 class
  • SQLite更新触发器更改表中的所有行

    问题 最简单的更新触发器将新值写入所有表行 而不仅仅是正在更新的行 这是表格 names id INTEGER PRIMARY KEY name TEXT len INTEGER 现在我想创建触发器来用 name 的长度更新 len 这个
  • Selenium Webdriver:元素不可见异常

    这是我的代码 用于单击一个简单的登录按钮Website import java util concurrent TimeUnit import org openqa selenium By import org openqa seleniu
  • UIAccessibility 元素的自定义 UITableViewCell 问题

    无论我尝试什么 我都无法阻止我的自定义 UITableViewCell 发挥作用就像应该的那样根据 UIAccessiblity 的默认规则 我不希望这个单元格充当可访问性容器 本身 所以遵循这个guide我应该能够使我的所有子视图都可访问
  • 宽度和高度会随方向变化吗?

    所以我的游戏从垂直方向开始 然后最终进入水平方向 我知道屏幕的宽度是屏幕的宽度 与垂直方向时的高度相同 当它切换到水平方向时 高度会变成宽度 宽度会变成高度吗 或者它们保持不变 是的 屏幕宽度和高度会根据设备方向而变化 您可以使用以下命令获
  • 如何在 C# 中将 UTC 时间转换为任何其他时区的时间

    我正在 C net 中工作 Net fx 是 2 0 不支持不同时区之间的转换 我已经编写了一个基于 UTC 的调度程序 但它在伦敦的 DTS 周期中给出了 1 小时的错误 我需要一些解决方案 以便我可以通过正确的 DST 调整来获得相对于
  • 将 int 转换为 4 字节 char 数组 (C)

    嘿 我希望将用户输入的 int 转换为 4 个字节 并将其分配给字符数组 如何才能做到这一点 Example 将用户输入 175 转换为 00000000 00000000 00000000 10101111 到目前为止所有答案都有问题 转
  • 查看单个文档中单个字段的原始 Solr 标记

    我正在调试我的 Solr 架构 我想查看标记特定字段的结果 举一个简化的例子 如果我有
  • sudo E选项不起作用? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 在我看来 如果我写一个shell脚本 HOME path to script myscript and export PATH PATH HOME path to script th
  • 在单活动架构中设置片段的横向方向

    如何实现只锁定一个屏幕方向Fragment 在单活动架构中 只有一个Activity对于整个应用程序 有没有比在每个中指定请求的方向更好的解决方案Fragment 我试图避免放置activity requestedOrientation A
  • 在 scrapy 中运行多个蜘蛛

    例如 在 scrapy 中 如果我有两个包含不同 HTML 的 URL 现在我想分别编写两个单独的蜘蛛 并希望同时运行这两个蜘蛛 在 scrapy 中可以同时运行多个蜘蛛 在scrapy中编写多个蜘蛛后 我们如何安排它们每6小时运行一次 可
  • 依赖于子目录同级的介子目标

    这是我的项目结构 include src abc include src def include src ghi include src vendor bar include src foo 16 directories 我想将我的构建移植
  • 如何从其他应用程序向 Microsoft 团队发布消息

    我正在尝试在我的桌面应用程序中创建一个自定义方法 使用 C 以向 Microsoft 团队发布消息 但我还是不知道用什么样的工具或者服务来完成 有可能实现吗 如果是 怎么办 我在 Visual Studio 中找到了一个有关 MS Team
  • 在 matplotlib 中重用 patch 对象而不移动它们的位置

    我想自动生成一系列被剪裁成补丁的图 如果我尝试重复使用补丁对象 它会在画布上移动位置 该脚本 基于 Yann 对之前问题的回答 演示了正在发生的情况 import pylab as plt import scipy as sp import
  • 需要使用 StreamReader.ReadLine() 获取行终止符

    我编写了一个 C 程序来读取 Excel xls xlsx 文件并输出为 CSV 和 Unicode 文本 我编写了一个单独的程序来删除空白记录 这是通过读取每一行来完成的StreamReader ReadLine 然后逐个字符地遍历字符串
  • 如何使用 jQuery 模拟打字?

    就像如何click 可以用来触发元素上的点击事件 有什么方法可以模拟字符串的输入吗 您可以根据需要使用这些事件 keydown keypress keyup
  • 将日期增加一个月

    假设我有以下格式的日期 2010 12 11 年 周一 使用 PHP 我希望将日期增加一个月 并且希望年份在必要时自动增加 即从 2012 年 12 月增加到 2013 年 1 月 Regards time strtotime 2010 1
  • PayPal REST API 返回信用卡令牌的 500 服务器错误

    我正在尝试让 PayPal REST api 使用存储在保险库中的信用卡创建付款 但是 每当我尝试使用金库中的卡进行付款时 PayPal 的 API 都会挂起大约半分钟 然后给出以下 500 错误 Exception Got Http re