- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们正在开发一个买卖双方会面进行交易的市场(类似于 Ebay)。我们希望支持通过 PayPal 支付,我们不打算收取任何服务费。由于我们是一家初创公司,因此我们的任何间接文书工作都是多余的,因此我们决定任何 PayPal 交易都直接在买卖双方之间进行。
但是,我们希望为卖家提供接受/拒绝机制,因此他们必须手动批准每个订单(以防某些商品在他们的实体店缺货等)。接受订单后,应将款项转给卖家。
经过大量思考和阅读 PayPal 文档后,我们决定采用使用身份验证/捕获和并行支付概念的 Express Checkout。我们已经成功集成了 Express Checkout,一切正常,直到调用 DoAuthorization
API,不幸的是失败了。到目前为止,我们所做的一切都在 PayPal 沙盒中。
为了让您了解我们与 PayPal 端点的通信是如何工作的,下面是我们正在做的事情(只会显示重要的字段):
PAYMENTREQUEST_0_PAYMENTACTION=Order
和 PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID={卖家的 PayPal 电子邮件地址}
调用 SetExpressCheckout
RedirectURL
以授权付款GetExpressCheckoutDetails
获取付款信息PAYMENTREQUEST_0_PAYMENTACTION=Order
的DoExpressCheckoutPayment
这里我们得到了状态为“待定”的交易信息,到目前为止似乎一切正常(交易在卖家的 PayPal 账户中也可见,状态为“待定”)。现在根据可用的文档,我们需要调用 DoAuthorization
以完成身份验证过程。但是,在调用 DoAuthorization
之后,我们遇到了一个错误:
[L_ERRORCODE] => 10007
[L_SHORTMESSAGE] => Permission denied
[L_LONGMESSAGE] => You do not have permissions to make this API call
[L_SEVERITYCODE] => Error
这是我们通过 DoExpressCheckoutPayment
和 DoAuthorization
API 调用发送和接收的内容(仅显示重要部分):
[REQUESTDATA] => Array
(
[USER] => {our API username}
[PWD] => {our API password}
[VERSION] => 98.0
[BUTTONSOURCE] => AngellEYE_PHPClass
[SIGNATURE] => {our API signature}
[METHOD] => DoExpressCheckoutPayment
[TOKEN] => {token we got from SetExpressCheckout}
[PAYERID] => {payer ID we got from GetExpressCheckoutDetails}
[RETURNFMFDETAILS] => 1
[NOSHIPPING] => 1
[PAYMENTREQUEST_0_AMT] => 123
[PAYMENTREQUEST_0_ITEMAMT] => 23
[PAYMENTREQUEST_0_SHIPPINGAMT] => 100
[PAYMENTREQUEST_0_CURRENCYCODE] => EUR
[PAYMENTREQUEST_0_DESC] => Order #54
[PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID] => {seller's PayPal email address}
[PAYMENTREQUEST_0_PAYMENTACTION] => Order
)
[PAYMENTS] => Array
(
[0] => Array
(
[TRANSACTIONID] => {we get some transaction ID here}
[TRANSACTIONTYPE] => expresscheckout
[PAYMENTTYPE] => None
[ORDERTIME] => 2014-01-15T22:43:19Z
[AMT] => 123.00
[FEEAMT] =>
[SETTLEAMT] =>
[TAXAMT] => 0.00
[EXCHANGERATE] =>
[CURRENCYCODE] => EUR
[PAYMENTSTATUS] => Pending
[PENDINGREASON] => order
[REASONCODE] => None
[PROTECTIONELIGIBILITY] => None
[ERRORCODE] => 0
)
)
[REQUESTDATA] => Array
(
[USER] => {our API username}
[PWD] => {our API password}
[VERSION] => 98.0
[BUTTONSOURCE] => AngellEYE_PHPClass
[SIGNATURE] => {our API signature}
[METHOD] => DoAuthorization
[TRANSACTIONID] => {transaction ID we got from DoExpressCheckoutPayment}
[AMT] => 123
[CURRENCYCODE] => EUR
)
[ERRORS] => Array
(
[0] => Array
(
[L_ERRORCODE] => 10007
[L_SHORTMESSAGE] => Permission denied
[L_LONGMESSAGE] => You do not have permissions to make this API call
[L_SEVERITYCODE] => Error
)
)
在花了一周的时间试图让它工作、谷歌搜索并浏览所有可用的文档以试图找到我们是否必须具有调用 DoAuthorization
API 的权限之后,我们一无所知。如果这个问题太长,我们深表歉意,但我们希望您全面了解正在发生的事情以及我们如何使用 PayPal API 处理事情。如果知识渊博的人可以阐明这个问题,我们将不胜感激。
最佳答案
通常,这种错误的含义与它所说的完全一致,而您的 PayPal 帐户根本无权进行该特定调用。
您是否特别想暂停资金?您可以运行 DoCapture 直接捕获订单,而无需在两者之间进行授权,但订单授权实际上并不持有资金,因此这是您难题的重要组成部分,您需要联系 PayPal 了解您获得的原因那个错误。
您可以向 www.paypal.com/mts 提交票证,该票证将直接发送给技术支持。他们最近在更快地恢复工单方面做得更好,所以我肯定会尝试。
与此同时,您可以尝试电话支持,但是,一般电话代表往往不知道如何解决此类问题,最终可能会造成更多困惑。
在任何一种情况下,只要让他们知道您正在尝试调用 DoAuthorization API 但您收到此错误,他们应该能够帮助追踪问题并为您解决。
如果您仍然无法获得帮助,请告诉我,我可以直接联系我在 PayPal 的一些联系人。
关于php - DoAuthorization 返回 "Permission denied"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21156051/
我从 ssh 收到以下错误: Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open. It is recommended th
我正在使用 WSL1(Windows Linux 子系统)和 Ubuntu 20.04.1 LTS 开发 Win10。我有一个 Samba (1.0) 网络共享,我想通过我的 Ubuntu 终端在上面
文件权限 我有一个文件 data.tgz我想解压缩。 -rw-r--r-- 1 username group 20342951248 mai 18 11:50 data.tgz 目录权限 文件所在的目
我正在尝试设置一些其他组不应该看到的组维护文件夹。目前,我通过取消单击@@sharing 选项卡中的“从更高级别继承权限”复选框来实现这一点,但我想自动执行此操作。 我在文档或谷歌搜索中找不到任何关于
在 Android 4 下,以下简单的 native C 代码行失败并出现 Permission denied 错误 when not run as 根: online_socket = socket
(我是 tortoise SVN 的新手) 我的乌龟 SVN 中有 2 个文件夹。每个人都需要一组不同的授权(我不想有权访问第一个文件夹的人对第二个文件夹具有读/写访问权限。 我怎样才能完成它?我注意
我用 tar -zxvf tarFile.tar.gz解压tarFile,但有错误提示tar: subfile :Cannot open: Permission denied . 我是root用户,权
我是 WAMP 的新手我今天刚刚安装了它。 设置进行得很顺利,本地主机似乎可以工作,但是当我尝试访问 phpMyAdmin 时我收到此错误: Forbidden You don't have perm
我想做的是从文件夹内的文件夹中获取 .mp3 文件。多次。 一切都很完美,除了当我尝试将文件复制到新文件夹(已经存在)时,它给出:[Errno 13]权限被拒绝: import os, shutil
我是 WAMP 的新手我今天刚刚安装了它。 设置进行得很顺利,本地主机似乎可以工作,但是当我尝试访问 phpMyAdmin 时我收到此错误: Forbidden You don't have perm
我正在开发一个应用程序,我在其中使用塔位置跟踪位置。所以我使用地理定位 api 来跟踪位置并访问手机状态以获取网络详细信息。 这很好用,突然间它开始给出 LOCATION_HARDWARE 权限的安全
这两种语法有什么区别。android:uses-permission 和 uses-permission。例如: 当我创建一个从存储中读取的 Activity 时,Android Studio 自
我正在尝试使用新的 GrantPermissionRule这是最新支持库的一部分。 在我的 list 中,我声明如下: 在我的代码中,我调用: @Rule public GrantPermissio
有没有navigator.permissions.query 的替代方案 Permissions API 查询以检查 geolocation 权限。导致它仍处于工作草案中并且浏览器兼容性较差。 W3C
这个错误真的真的很奇怪,我不知道如何重现它以及如何修复它,因为我进行了大量搜索,但没有任何用处。 这是堆栈跟踪: Stack Trace _______________________________
我正在尝试在 ubuntu 16.4 上安装 MaryTTS。 但是当我上线时 sudo -u mary git clone https://github.com/marytts/marytts.gi
在我们基于 Symfony2 的应用程序中,我们希望创建一个列表,列出系统中哪些用户对给定域对象具有权限。我们正在使用 ACL,我们的直接直觉是查看从相关域对象的 ACLProvider 返回的 AC
我今天收到这封邮件,但我没有使用 Admob 广告,而是使用 applovin 和 Facebook,我必须添加此权限还是仅适用于他们使用 Admob 的开发者? 即使没有像我一样的admob,每个人
我有一个 Jenkins 用户,我想授予其对 Jenkins 实例运行远程 CLI 的权限。第一个命令是获取 config.xml: java -jar jenkins-cli.jar -s http
我今天收到这封邮件,但我没有使用 Admob 广告,而是使用 applovin 和 Facebook,我必须添加此权限还是仅适用于他们使用 Admob 的开发者? 即使没有像我一样的admob,每个人
我是一名优秀的程序员,十分优秀!