2016-10-10 2 views
0

현재 지불을 처리하기 위해 NVP (paypalfunctions.php)와 함께 PayPal과 새로운 통합 작업을하고 있습니다. 동일한 통합이 다른 프로젝트에도 적용되지만 현재 프로젝트에서는 실패합니다.PayPal NVP 통합 - 지불이 처리되지 않았습니다.

설명 : 결제 링크가 성공적으로 생성됩니다 - 페이팔로 리디렉션됩니다 - 로그인 및 금액 (1 또는 5 유로) 지불 - 성공 URL로 리디렉션.

문제 : 상점 계좌도 송금인 계좌도 지급금을 볼 수 없으며 PayPal에서 콜백을받지 못합니다. 따라서 지불은 처리/승인되지 않았지만 Paypal에서 정보를 얻지 못합니다. 내가 사용하는

NVP 설정은 최소화하고, 배달 주소 필요 없어요 :

$nvpstr="&PAYMENTREQUEST_0_AMT=". $paymentAmount; 
$nvpstr = $nvpstr . "&PAYMENTREQUEST_0_PAYMENTACTION=" . $paymentType; 
$nvpstr = $nvpstr . "&RETURNURL=" . $returnURL; 
$nvpstr = $nvpstr . "&CANCELURL=" . $cancelURL; 
$nvpstr = $nvpstr . "&PAYMENTREQUEST_0_CURRENCYCODE=" . $currencyCodeType; 
$nvpstr = $nvpstr . "&NOSHIPPING=1"; 
$nvpstr = $nvpstr . "&BRANDNAME=MyName"; 
$nvpstr = $nvpstr . "&PAYMENTREQUEST_0_CUSTOM=" . $paymentId; 
$nvpstr = $nvpstr . "&PAYMENTREQUEST_0_NOTIFYURL=https://my.callback.com"; 

의 URL이 성공적으로 작성되는 모든 변수가 설정됩니다.

이것이 작동하지 않는 이유는 무엇입니까?

많은 감사

이 과정의 마지막 전화를 놓치고처럼 소리

bert2002

답변

0

. 흐름은 다음과 같아야합니다

  1. SetExpressCheckout
  2. GetExpressCheckoutDetails 최종 DECP 호출이 성공적으로 완료 될 때까지 어떤 돈이 이동되지 않습니다

  • DoExpressCheckoutPayment.

    사이드 노트 : REST API/SDK를 사용하지 않아 태그가 오해의 소지가 있습니다.

    나는이 API 호출을 매우 빠르고 쉽게 만들 수 있도록 PayPal PHP SDK을 가지고 있으므로 지금처럼 수동으로 빌드하지 않아도됩니다. 나는 당신이 그것을 볼 것을 권할 것이다. 네가 좋아할 것 같아.

  • +0

    안녕하세요, 대단히 감사합니다. CallShortcutExpressCheckout()을 사용하면 충분합니다 (또는 지난 주/한 달에 뭔가 바뀌 었습니다). 그렇지 않으면 시간이 잘못되어 마술에서 벗어났습니다. 나는 [link] (https://devtools-paypal.com/integrationwizard/ecpaypal/code.php)를 따랐으며 당신의 기능을 언급하지 않았다. SDK를 대신 통합 할 수 있는지 확인해 드리겠습니다. 왜 광산이 더 이상 작동하지 않는지 알고 싶습니다. – bert2002

    +0

    좋아요, 길을 찾았지만 그 이상한 것 같아요. 먼저 내 모든 세부 사항으로 CallMarkExpressCheckout()을 작성한 다음 사용자가 지불하고 DoUpressCheckoutPayment()로 토큰 및 PayerID를 처리하는 ReturnURL로 리디렉션됩니다. 그런 다음 지불이 승인됩니다. 이 워크 플로우는 의미가 있습니까? 다른 프로젝트에서 두 번째 부분은 사용자의 ReturnUrl이 아닌 콜백으로 핸드 헬드됩니다. 그 ReturnUrl은 이상한 것입니다. – bert2002

    +0

    내가 설명한 API 이름은 실제 이름입니다. 이러한 함수는 SetExpressCheckout 요청으로 특정 작업을 수행하기위한 빌드입니다. 예를 들어 SetExpressCheckout의 매개 변수 중 하나를 "결제"또는 "표시"로 설정할 수 있으며 설정 방법에 따라 경험이 다릅니다. 그럼에도 불구하고 이러한 함수는 SetExpressCheckout을 실행 중이며 아마도 리디렉션을 처리하지만 SetExpressCheckout과 함께 제공되는 ReturnURL로 돌아온 후에도 DoExpressCheckoutPayment 호출을 추가해야합니다. –

    관련 문제