2015-02-04 4 views
1

제품 정보가 SetExpressCheckout과 함께 전달되고 모두가 지불 페이지에 나타나면 동일한 정보가 모두 DoExpressCheckoutPayment와 함께 전송되고 트랜잭션이 성공적으로 수행됩니다. 판매자 샌드 박스 계정에서 거래를 알리는 경우 L_PAYMENTREQUEST_n_DESCm을 사용하여 보낸 정보는 장바구니 내용의 '옵션'섹션에 표시되지 않지만 다른 모든 매개 변수 (L_PAYMENTREQUEST_n_NAMEm, L_PAYMENTREQUEST_n_NUMBERm, L_PAYMENTREQUEST_n_AMTm, L_PAYMENTREQUEST_n_QTYm)의 정보가 표시됩니다. 나는 또한 L_DESCm을 사용해 보았지만 같은 결과를 보았습니다.익스프레스 체크 아웃, 거래 내역, 장바구니에 옵션이 표시되지 않음

나는 this guide을 기반으로 한 아주 기본적인 예제를 시도했다.

3 가지 HTML 양식을 사용하여 설명 된 문제를 재현 한 트랜잭션을 완료했습니다.

<form method=post action=https://api-3t.sandbox.paypal.com/nvp> 
    <input type=hidden name=USER value=yourusr> 
    <input type=hidden name=PWD value=yourpwd> 
    <input type=hidden name=SIGNATURE value=yoursig> 
    <input type=hidden name=VERSION value=93> 
    <input type=hidden name=PAYMENTREQUEST_0_PAYMENTACTION value=Sale> 
    <input type=hidden name=L_PAYMENTREQUEST_0_NAME0 value="Decaf Coffee Blend"> 
    <input type=hidden name=L_PAYMENTREQUEST_0_NUMBER0 value=623083> 
    <input type=hidden name=L_PAYMENTREQUEST_0_DESC0 value="8oz vacuum pack"> 
    <input type=hidden name=L_PAYMENTREQUEST_0_AMT0 value=19.95> 
    <input type=hidden name=L_PAYMENTREQUEST_0_QTY0 value=1> 

    <input type=hidden name=PAYMENTREQUEST_0_AMT value=19.95> 

    <input type=hidden name=PAYMENTREQUEST_0_CURRENCYCODE value=GBP> 
    <input type=hidden name=RETURNURL value=http://www.yourdomain.co.uk/return.html> 
    <input type=hidden name=CANCELURL value=http://www.yourdomain.co.uk/home.html> 


    <input type=submit name=METHOD value=SetExpressCheckout> 
</form> 








<form method=post action=https://api-3t.sandbox.paypal.com/nvp> 
    <input type=hidden name=USER value=yourusr> 
    <input type=hidden name=PWD value=yourpwd> 
    <input type=hidden name=SIGNATURE value=yoursig> 
    <input type=hidden name=VERSION value=93.0> 
    <input name=TOKEN value=overtype with your token> 
    <input type=submit name=METHOD value=GetExpressCheckoutDetails> 
</form> 




<form method=post action=https://api-3t.sandbox.paypal.com/nvp> 
    <input type=hidden name=USER value=yourusr> 
    <input type=hidden name=PWD value=yourpwd> 
    <input type=hidden name=SIGNATURE value=yoursig> 
    <input type=hidden name=VERSION value=93> 
    <input type=hidden name=PAYMENTREQUEST_0_PAYMENTACTION value=Sale> 
    <input name=PAYERID value=overtype with your payerid> 
    <input name=TOKEN value=overtype with your token> 

     <input type=hidden name=L_PAYMENTREQUEST_0_NAME0 value="Decaf Coffee Blend"> 
    <input type=hidden name=L_PAYMENTREQUEST_0_NUMBER0 value=623083> 
    <input type=hidden name=L_PAYMENTREQUEST_0_DESC0 value="8oz vacuum pack"> 
    <input type=hidden name=L_PAYMENTREQUEST_0_AMT0 value=19.95> 
    <input type=hidden name=L_PAYMENTREQUEST_0_QTY0 value=1> 

    <input type=hidden name=PAYMENTREQUEST_0_AMT value=19.95> 

    <input type=hidden name=PAYMENTREQUEST_0_CURRENCYCODE value=GBP> 


    <input type=submit name=METHOD value=DoExpressCheckoutPayment> 
</form> 
+0

질문의 형식을 지정하십시오. 변수와 클래스 이름 주위에 백틱 ('\'')을 사용하여 여러개의 단락을 강조하십시오. 지금까지 시도한 것을 보여주십시오. [MCVE] (http://stackoverflow.com/help/mcve)는 좋은 평가를 받고 좋은 답변을 얻는 경향이 있습니다. –

답변

0

Express Checkout에서는 기본적으로 DESC 매개 변수가 무시됩니다. 그들이 그것을 포함하지만 그것을 사용하지 않는 것 년 동안 나를 짜증나게했다.

PayPal 지불 항목에 대한 세부 정보를 제공하려면 요청에 실제 장바구니 품목 정보를 포함시켜야합니다.

나의 PHP class library for PayPal에 대한 나의 Express Checkout demo을보십시오. 그런데, 당신이하는 일보다 페이팔에 대한 API 호출이 훨씬 빠르고 쉽습니다.

어쨌든 데모에는 기본 Express Checkout과 광고 항목이 포함되어 있습니다. 광고 항목이 포함 된 광고를 보면 광고 항목을 재현 할 수 있습니다.

API documentation specific to cart items in Express Checkout도 확인할 수 있습니다. 언급 한 것처럼 SEC 및 DECP에 세부 정보를 모두 포함시켜 최종 지불 세부 사항에 나타나게해야합니다.

DECP에는 true로 설정할 수있는 USESESSIONPAYMENTDETAILS 매개 변수가 포함되어 있습니다. 이 작업이 완료되면 SEC에 포함 된 세부 정보를 사용하므로 DECP에 다시 포함 할 필요가 없습니다.

희망 하시겠습니까?

+0

그렇다면 DESC를 사용하여 전달 된 모든 정보가 최종 결제에서 수령되지 않으며 '장바구니 내용'의 일부로 표시된 '옵션'상자가 중복되는 것입니다. –

관련 문제