Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
476 views
in Technique[技术] by (71.8m points)

java - Paypal Sandbox Business Account not credited and Buyer is not debited

I made a DoExpressCheckoutPayment call with following detail and success.[Of course the call is made after the successful SetExpressCheckout call]

METHOD=DoExpressCheckoutPayment&
VERSION=93&
PWD=MyPassword&
USER=User&
SIGNATURE=Signature&
PAYMENTREQUEST_0_PAYMENTACTION=Order&
PAYMENTREQUEST_0_AMT=85.0&
PAYMENTREQUEST_0_CURRENCYCODE=USD&
IPADDRESS=localhost&
BUTTONSOURCE=PP-ECWizard

The Response details from above call

PAYMENTINFO_0_REASONCODE=None, PAYMENTINFO_0_TAXAMT=0.00, PAYMENTINFO_0_ERRORCODE=0, PAYMENTINFO_0_SECUREMERCHANTACCOUNTID=AHYPGLSVNYNYC, BUILD=6118442, PAYMENTINFO_0_TRANSACTIONTYPE=expresscheckout, PAYMENTINFO_0_ORDERTIME=2013-05-30T11:26:49Z, PAYMENTINFO_0_PROTECTIONELIGIBILITY=None, CORRELATIONID=c7061e7e201b4, SUCCESSPAGEREDIRECTREQUESTED=false, INSURANCEOPTIONSELECTED=false, PAYMENTINFO_0_CURRENCYCODE=USD, PAYMENTINFO_0_PAYMENTSTATUS=Pending, PAYMENTINFO_0_AMT=85.00, PAYMENTINFO_0_TRANSACTIONID=O-3M746191252284215, PAYMENTINFO_0_ACK=Success, VERSION=93, PAYMENTINFO_0_PAYMENTTYPE=None, PAYMENTINFO_0_PENDINGREASON=order, ACK=Success, SHIPPINGOPTIONISDEFAULT=false, TIMESTAMP=2013-05-30T11:26:49Z, TOKEN=EC-9J328055AB342102B

(I have modified response and convert response into HashMap)

I have created two test accounts in Paypal Sandbox

One is Business Account and one is Personal Account.All has opening Balance of 5000 USD.

Everything works fine except one thing.

The buyer account shows the Order Detail as shown in following figure as Pending only and does not debit itself. the balance as same as it was the last.

Buyer's Account Detail after Transaction

The Merchant's account shows the order detail but same as the account is not credited and balance is not updated as shown in following figure.

Merchant's Account detail after Transaction

Now if i look at the Sandbox notifications i can see some text for Buyer account only and not for Merchant's account as shown in following figure.

Sandbox Notifications for Buyer and merchant

What i am missing here ? Why the amount is not debited from buyer and credited to Merchant's ? why the transaction status is Pending ?

I found 3 similar questions on SO match my problem and some of the questions on the internet , i tried all the solutions but could not success .

Payment Review is tuned off in My Sandbox Business Account.

If you need me any more detail from me please ask feel free to ask me.

Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The reason that your transaction is showing pending is because you processed this as an order. You can also see the pending reason in the response that you provided.

PAYMENTINFO_0_PENDINGREASON=order

You need to go back now and perform a transaction against the order to actually charge the buyer and this will move the funds from the buyer account to the seller account. For example you can go back and perform an Authorization against the order using the DoAuthorization API and then once that is completed you can run the DoCapture API to complete the purchase.

If you are not wanting to process the transaction as an order initially, you can process it as a "Sale" rather than an "Order", and this will take the money up front when you complete the DoExpressCheckoutPayment API call.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...