我在使用Chained Payments API时遇到了问题,它仍在开发中。使用贝宝自适应付款时遇到的问题API
说到沙盒:我读过,出于某种原因,PayKey
(Paypal为交易创建的唯一标识符)不会被传回交易。当然,在我的测试中,我获得了大部分数据(例如买家的电子邮件地址,姓名,地址信息),但我没有收到paykey。
此字段不只是空白,它根本不存在。我对form
范围做了最基本的循环,并将结果写入文件(显然,我不会在生产中做这种基本的事情,这只是为了理解我得到的数据)。
所以我想我会传递我自己的唯一标识符,将它存储在数据库中,然后通过自定义变量传递它。这((custom
)字段)很奇怪,每次都会变回空白。
最后我想我只是把它作为的IpnNotificationUrl
像receipt.cfm?myKey=SOMEVERYRANDOMLYGENERATEDKEYHERE
但是当我通过IpnNotificationUrl
,指定的网址是不是ping通,我是否没有在我的沙箱帐户单独IPN Notification URL
设置的URL的一部分。该帐户中指定的URL每次都会正确ping通。
这两个文件是相同的,只是它们写入不同名称的文本文件。我没有收到任何文件中的错误。
<cfoutput><cfsavecontent variable="buildfile">--- Break ---
<cfloop list="#structkeylist(form)#" index="i">
#i#: #form[i]#
</cfloop>
</cfsavecontent></cfoutput>
<cffile file="#expandpath(".")#\dump_new.txt" action="write" output="#buildfile#" />
我需要能够创建一个密钥,并通过贝宝或贝宝需要通过回传。
对于它的价值,这是来自PayPal的SDK我调用GitHub上
<cfinvoke component="svc.adaptivepayments" method="payRequest" returnvariable="response">
<cfinvokeargument name="returnURL" value="#request.serverURL#/success.cfm">
<cfinvokeargument name="cancelURL" value="#request.serverURL#/cancel.cfm">
<cfinvokeargument name="ipnNotificationUrl" value="http://myurl/taction/pp_rect2.cfm">
<cfinvokeargument name="senderEmail" value="">
<cfinvokeargument name="custom" value="test data">
<cfinvokeargument name="receiverAmount" value="#ArrayToList(pp_amounts)#">
<cfinvokeargument name="receiverEmail" value="#ArrayToList(pp_emails)#">
<cfinvokeargument name="receiverPrimary" value="true,false,false,false,false,false">
<cfinvokeargument name="feesPayer" value="PRIMARYRECEIVER">
<cfinvokeargument name="receiverPaymentType" value="DIGITALGOODS,DIGITALGOODS,DIGITALGOODS,DIGITALGOODS,DIGITALGOODS,DIGITALGOODS">
<cfinvokeargument name="actionType" value="PAY">
<cfinvokeargument name="currencyCode" value="USD">
</cfinvoke>
编辑:为了澄清,Paykey来源于此服务回来,这是我如何生成用户发送到贝宝的链接。 Paykey根本不会传递给我的IPN,尽管其他交易数据的确如此。我删除了某些信息。我仔细检查过,没有这个信息是paykey或可在paykey创建时间(所以有两端没有唯一标识符)
---休息---
payer_email: redacted
charset: windows-1252
item_name:
payment_gross: 10.00
payer_id: A62WKW8N3YDYU
transaction_subject:
item_number:
payment_status: Completed
payment_fee: 0.55
notify_version: 3.8
verify_sign: A.CSYz4u5IILQm5wM0J0JbJiIcEuAHODNEgw.2k7ZMYT31eXFO6G0R1o
mc_currency: USD
quantity: 0
residence_country: US
tax: 0.00
first_name: John
receiver_email: redacted
last_name: Blow
mc_fee: 0.55
ipn_track_id: dd4151b653ead
payer_status: verified
custom:
fieldnames: payer_email,charset,item_name,payment_gross,payer_id,transaction_subject,
item_number,payment_status,payment_fee,notify_version,verify_sign,
mc_currency,quantity,residence_country,tax,first_name,receiver_email,
last_name,mc_fee,ipn_track_id,payer_status,custom,mc_gross,test_ipn,
business,txn_id,receiver_id,txn_type,payment_type,payment_date,protection_eligibility
mc_gross: 10.00
test_ipn: 1
business: redacted
txn_id: 71N09598H1922352W
receiver_id: VBETUFDEQL5BC
txn_type: web_accept
payment_type: instant
payment_date: 12:53:10 Nov 04, 2014 PST
protection_eligibility: Ineligible
我从来没有经历过一个空白的PayKey回来。您需要PayKey重定向到PayPal,所以如果它是空白,它根本就不起作用。您能否为您的付费电话提供原始API请求和响应? – 2014-11-04 20:39:57
我意识到这似乎令人困惑,我附加了我的帖子这个评论:澄清,Paykey从这项服务回来,这是我如何生成链接发送用户到贝宝。 Paykey根本不会传递给我的IPN,尽管其他交易数据的确如此。 – 2014-11-04 20:45:19
我刚刚在包含IPN的服务器上运行了测试支付请求,并且我在IPN详细信息中获得了PayKey。你可以在这里看到一个[app specific IPN]的示例(http://sandbox.angelleye.com/paypal/ipn/admin/raw-log-detail.php?id=6806),其中包括PayKey的预期。你可以提供你获得的IPN数据的RAW转储吗? – 2014-11-04 20:53:42