问题标签 [nvp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 带有php错误的Paypal NVP
我正在尝试使用 Paypal 的 NVP 界面启动并运行我的网站来处理我的自定义购物车。我已经下载了他们的示例代码(在这里)并试图在没有成功的情况下运行。我选择的任何功能(例如快速结帐销售)都会出现 curl_errno() 错误:错误编号:3 错误消息:未设置 URL! 我在 localhost 和我的托管站点上都试过这个。
hash_call() 是处理对 Paypal 的调用的函数。调用 hash_call() 的代码也包含在下面。他们设置 url 的代码是:
$returnURL =urlencode($url.'/ReviewOrder.php?currencyCodeType='.$currencyCodeType.'&paymentType='.$paymentType);
$cancelURL =urlencode("$url/SetExpressCheckout.php?paymentType=$paymentType");
我认为 cancelURL 行已关闭并将其修改为:
$cancelURL =urlencode($url.'/SetExpressCheckout.php?paymentType='.$paymentType);
两者都没有工作。任何帮助,将不胜感激。我从未使用过 curl。
paypal - Paypal NVP 与 IPN 进行确认 - 是什么将它们联系在一起
我正在使用带有 NVP API(使用 PHP)的 PayPal 进行快速结帐。在将用户重定向到 Paypal 之前,我正在数据库中创建发票记录。如果用户在处理后没有返回我的站点,我正在使用 IPN 确认购买,然后更新确认付款的发票记录。我仍处于沙盒模式,并试图弄清楚如何将 NVP 开始的交易与 IPN 得到的确认联系起来。
我需要验证 NVP 中发送的“PAYMENTREQUEST_n_INVNUM”是否会在 IPN 帖子中作为“发票”返回。
由于沙盒 IPN 在 NVP 发起的沙盒交易中似乎不活跃,因此在我上线之前我似乎无法实际测试它 - 这是正确的吗?
谢谢你的帮助。
mysql - 构建数据库以处理未知的名称/值对
想法是这样的:我预计会收到数千个查询,每个查询都包含一定数量的名称值对;这些从关联数组开始,因此我可以很好地控制数据可能发生的情况。这些 NVP 因来源而异。例如,如果源是“A”,我可以接收数组(为了便于解释,使用 JSON 格式):{'Key1':'test1','key2':'test2'}
但如果源是“B”,我可以接收{'DifferentKey1':'test1','DifferentKey2':'test2'}
我正在选择要存储在数据库中的键,所以在这种情况下,我只想DifferentKey1
从源 B 的数组中进行选择,然后丢弃其余的。
我的主要问题是这些数组在技术上可能是完全不相关的内容。它们有一个非常普遍的关联(它们都是包含统计数据的数组),但它们非常不同(因为来源不同,即不同的游戏/运动)。
我在想 SQL:存储一个充满游戏及其各自 id 的表将是链接一般 NVP 字符串的好方法。例如:
希望这足够清楚。你明白我的意思吗?如果我可能使用的数据量不确定,我该如何构建表格?谢谢。
编辑:我想我应该注意,显然这个设置会起作用,但是它是最好的性能吗?也许不吧?不太清楚,看看大家有什么办法!
express - Paypal 即时更新 nvp 不工作(沙盒环境)
我目前正在使用 JAVA 实现 Paypal 的快速结帐,并与 PayPal NVP API 接口。我的 SetExpressCheckout、GetExpressCheckoutDetails、DoExpressCheckout、DoAuthorization 和 DoCapture 方法都在工作。但是,我需要实现即时更新 API 来计算我们服务器上的运费和税金并显示在贝宝的页面上。我遵循了所有步骤和建议,但是,从未调用过回调。我曾尝试使用 setExpressCheckout 参数,因为我在此论坛中读到这些参数可能是问题所在,但还不能使其正常工作。当我登录或更改送货地址时,永远不会调用回调,顺便说一句,我处于沙盒环境中。
我的回调 url 是公开的并且可以正常工作。尝试使用网络浏览器时,它会调用我的 payPalCheckoutUpdate 方法并写入我服务器的日志文件中,所以我很肯定该 url 被调用了。问题是当我登录贝宝的结帐移动网站或更改送货地址时,永远不会调用此回调 url。
我的 paypal 更新方法托管在基于 Apache Ofbiz 的应用程序中,我在不同的论坛中发现 paypal 无法访问端口 8443 或 8080 中的 ofbiz url。所以我使用 apache 从我的回调 URL 重定向到我的实际方法并避免使用回调 url 中的端口不同于 80。(使用网络浏览器测试时效果很好)
这是我在没有凭据的情况下对 setExpressCheckout 的调用(如果您在此调用中发现问题,请告诉我)
372623 [http-0.0.0.0-8443-3] 信息 com.paypal.sdk.core.nvp.NVPAPICaller - L_SHIPPINGOPTIONAMOUNT0=0.00&CANCELURL=https%3A%2F%2Fdev2.XXXjacker.com%3A8443%2FXXXjacker%2Fcontrol%2FpayPalCheckoutCancel&MAXAMT= 80.99&L_SHIPPINGOPTIONLABEL0=Calculated+Offline&AMT=80.99&RETURNURL=https%3A%2F%2Fdev2.XXXjacker.com%3A8443%2FXXXjacker%2Fcontrol%2FpayPalCheckoutReturn&CALLBACK=http%3A%2F%2Fdev2.XXXjacker.com%2FpayPalCheckoutUpdate&L_SHIPPINGOPTIONISDEFAULT0=true&L_AMT0=80.99&TAXAMT=0.00 &L_QTY0=1&L_NUMBER0=286202&SHIPPINGAMT=0.00&L_NAME0=DVD+%2B+VCR+w%2F+Line+in+%28no+tuner%29&ITEMAMT=80.99&CALLBACKVERSION+=84.0&VERSION=84.0&L_SHIPPINGOPTIONNAME0=Calculated+Offline&CALLBACKCheckout&CALLBACKTIMEOUT=3&L_SHIPPINGOPTIONNAME0=已计算+离线&SETPWDCheckout& OUTCYMETHOD =USD& &源=PAYPAL_JAVA_SDK_76.0&SIGNATURE= * ***&USER=xxxxx_12xxxx643_biz_api1.xxxxxxxxxxxxx.com
我尝试了使用和不使用 L_SHIPPINGOPTIONLABEL0 参数,还尝试了将 version 和 callbackversion 设置为 76.0(我正在使用的 java 库的默认设置,取自 paypal)我总是得到相同的结果,回调 url 没有被调用。
这是来自贝宝的回应:
373536 [http-0.0.0.0-8443-3] INFO com.paypal.sdk.core.nvp.NVPAPICaller - TOKEN=EC%2dXXXXXXXX03911650G&TIMESTAMP=2012%2d06%2d12T22%3a03%3a06Z&CORRELATIONID=f1e3c64211d5e&ACK=Success&VERSION=84%2e0&BUILD=2975009确认:200 经过时间:914 毫秒
预先感谢您在此问题上提供的帮助。
paypal - Docapture方法paypal api中的交易ID无效
我正在做一个 DoCapture 并使用 DoDirectPayment 的交易 ID。但是每次我捕获付款时,它都会显示“无效的交易 ID”。当我尝试从信用卡直接付款中获取一笔付款时,就会发生这种情况,而且这种信用卡付款是通过 DoDirectPayment 方法进行的。但是,如果通过转到我的 PayPal 帐户并完成我的交易来进行 expressCheckout,这也会给我交易 ID。如果我使用此交易 ID 捕获付款,则付款过程成功完成!我不知道发生了什么事!请任何人帮助我摆脱问题!我正在使用 PayPal API 版本 59.0 我的示例代码
提前致谢!
magento - 如何在所有 PayPal 交易中退还费用
下午好
我正在将贝宝与巴西 Magento 平台集成,我必须获得贝宝退回的费用
我通过向 PayPal 提供交易 ID (txv_id) 来收取费用,但它仅适用于某些交易。在某些交易中,PayPal 退回费用 = 0。
我制作了一个脚本来用一系列交易填充数据表,但在通过贝宝进行的 40 笔交易中,我只收到了 2 笔费用。交易具有相同的产品和相同的价格,但并不总是相同的费用
我想知道 PayPal 是否有其他方法可以返回此属性
php - 带有 PHP 数组的 Paypal NVP TransactionSearch
您好,我正在使用 paypal API 执行查询,我的问题涉及一个数组并检索密钥的值(这是动态的)我知道查询有效并且凭据很好,因为返回了以下数组:
我想在 foreach 循环中分解每个键,但每个键都是动态的(注意每个键的计数)。这如何在 foreach 循环中完成?谢谢,
php - Paypal、Masspay:10321 - 资金不足
我想使用 Paypal API 中的 Masspay 方法。我在沙盒中有一个业务帐户,余额超过了我需要支付的金额。因此,我尝试为 masspay 发出 cURL 请求,如下所示(仅用于测试):
我得到的结果是:
TIMESTAMP=2012-11-16T08:16:55Z&CORRELATIONID=dabb7bd62605b&ACK=失败&VERSION=64.0&BUILD=4181146&L_ERRORCODE0=10321&L_SHORTMESSAGE0=资金不足&L_LONGMESSAGE0=账户资金不足,无法进行批量支付&L_SEVERITYCODE0=错误
我有两种货币的资金:美元和欧元,当我使用它们付款时一切都很好,但是当我选择 GBR 时,例如 API 告诉我我没有足够的资金。在 x.com 论坛上寻找答案并没有给我带来有用的实际信息。所以问题是:我可以使用美元账户以欧元或其他货币或仅以美元进行批量付款吗?如果可能的话,我应该在哪里设置它?
谢谢。
asp.net - 贝宝 nvp .net sdk 错误
伙计们,
我们有一个使用 PayPal Express Checkout for Digital Goods 进行软件销售的网站。它已经工作了5个月。上周我们开始收到错误“请求被中止:无法创建 SSL/TLS 安全通道。” 关闭实时站点。当我在开发服务器上运行该站点时,它运行良好,我们可以处理交易。所有这些都针对实时贝宝站点。在查看此论坛和其他论坛上的许多问题时,主要问题似乎是使用错误的端点。我正在使用.NET SDK和nvp方法。我检查了端点,它们是paypal为nvp交易提供的当前端点。甚至查看了dll以确保我们没有旧版本。我们在那里很好。
然后我认为托管服务器可能会建立一个到贝宝的安全链接,因此创建了一个测试页面,其中包含一个带有查询字符串的 URL 到端点,例如(https://api-3t.paypal.com/nvp?USER =XXXX_api1.XXX.com&PWD=XXX&SIGNATURE=XXXXXX&VERSION=60.0&PAYMENTACTION=Authorization&AMT=1.95&RETURNURL=https://www.paypal.com&CANCELURL=https://www.paypal.com&METHOD=SetExpressCheckout )。
这有效并返回了预期的交易令牌。所以我们可以从托管服务器连接。然后考虑我们的凭据或凭据检索代码可能是问题,我将凭据从我们的数据库中提取出来并按如下方式运行测试。
使用服务器数据代码测试查询字符串=======================================
这很有效,因此凭据和端点在托管服务器上很好。
然后我继续使用 sdk dll (paypal_base.dll) 测试令牌生成。请参阅下面的代码。在生成每一行时,我向其中添加了一个写入测试页面的字符串,这样我就可以了解我们的托管服务器上发生了什么。我们对数字商品流程使用快速结账。我从https://cms.paypal.com/cms_content/FR/fr_FR/files/developer/nvp_DoAuthorization_cs.txt获得了基本代码,并根据在线文档添加了数字商品查询参数。这适用于我的开发服务器并返回令牌。它在托管网站上运行了大约四个月,直到 1 月 27 日到 1 月 30 日之间的某个时候,我收到了客户无法购买产品的第一个通知。
在我们的托管服务器上运行时,我们得到“请求被中止:无法创建 SSL/TLS 安全通道”。下面突出显示的代码行上的错误消息。查询字符串由编码器生成并保存在变量 pStrrequestforNvp 中,因此编码器可以工作。
我很茫然。托管服务器与我们的开发服务器有什么不同?dll中是否有一种方法可以用来写出对paypal服务器的实际调用?我将我们在开发中使用的相同 dll 文件放在托管站点上,但有些不同。
测试sdk生成的查询============================
php - 交易 ID 无效 10609
我对 paypal api 很陌生,我已经按照本教程进行了操作,并根据我的需要调整了代码。
我想通过 3 个步骤进行基本的授权和捕获,但我总是无法捕获
- 客户登陆 paypal_pay_redirect.php 以登录 paypal 并进行付款
- 付款很好,我们登陆 paypal_success.php,在这里我请求授权并保留 TRANSACTIONID 以供下一步
- paypal_capture.php 我使用 transactionid 捕获付款,但我总是得到“10609:Transaction id is invalid”
代码在这里,错误在哪里?
谢谢
paypal_lib.php
paypal_pay_redirect.php
paypal_success.php
paypal_capture.php