2012-04-04 6 views
0

사용자를 Paypal로 리디렉션하려고하지만 보통의 html 양식 대신이 코드를 작성했습니다 (내 사이트에 데이터를 제출하려면 양식이 필요하고 Paypal로 리디렉션됩니다)Paypal URL이 제대로 작동하지 않습니다.

($sandbox) ? $url = "https://www.sandbox.paypal.com/cgi-bin/webscr" : $url = "https://www.paypal.com/cgi-bin/webscr"; 
    ($sandbox) ? $button = "XXXXX" : $button = "YYYYY"; 

    $notify_url = urlencode($site_url . "index.php?act=member-pn&mid=" . $ld['member_id']); 
    $return_url = urlencode($site_url . "index.php?act=member-ps"); 
    $cancel_url = urlencode($site_url . "index.php?act=member-pc&mid=" . $ld['member_id']); 

    $url .= "/?notify_url=$notify_url&return=$return_url&cancel_return=$cancel_url&cmd=_s-xclick&hosted_button_id=$button"; 

    header("Location: $url"); 

취소 URL 만 작동하는 이유는 무엇입니까? 반환 및 알림이 작동하지 않는 것 같습니다.

+0

어디에서 테스트합니까? 그것은 당신의 localhost에서입니까? – mahadeb

+0

아니요, 라이브 사이트입니다. – slash197

+0

에코 URL을 시도 했습니까? 값이 맞습니까? –

답변

0

내 질문에 대한 대답은 간단합니다. 작업중인 사이트에 대한 htaccess 인증이 있는지 항상 기억하십시오. 페이팔의 IPN은 내 스크립트에 액세스 할 수있는 기회를 얻지 못했습니다.

그리고 POST 대신 간단한 버튼에 대한 GET 요청을 할 수 있습니다.

1

POST 요청으로 값을 보내야한다고 생각합니다. 코드에서 GET 요청을하는 것 같습니다.

notify_url 및 return_url에 대해서는 해당 기능이 이미 Paypal 계정에서 사용 중이라고 가정합니다.

가능한 해결책은 jQuery Validate (예를 들어)를 사용하여 양식 제출을 캡처 한 다음 서버에 초기 데이터를 보내 사용자를 등록한 다음 완료되면 paypal에 양식을 제출할 수 있다는 것입니다.

+0

Paypal 계정에서 사용할 수없는 기능입니다. POST 요청이 필요한 경우 왜 취소 URL이 작동합니까? – slash197

+0

Think Gohn이 맞다. paypal 사이트를 게시하지 않을 경우 부분적인 작업을 할 수 있지만 먼저 데이터를 게시 해 보겠습니다. –

+0

paypal에 게시 할 수 없으며 사용자 등록을 위해 서버에 POST 할 양식이 필요합니다. 먼저 페이팔로 리디렉션 – slash197

0

며칠 전 우리는 매우 비슷한 것을 만들었습니다. 우리는 아약스와 jquery에 대해 생각했습니다 .... 하지만 이제는 2 가지 형식을 사용하고 있습니다. 가장 쉬운 방법입니다. 사용자가 상점에서 결제시 (1 양식) -> 당사 서버에 게시 -> 데이터베이스에 저장 -> 사용자 klicks에서 "페이팔로 지불"(2 양식) -> 페이팔로 리디렉션 가져 오기 -> 지불 - > 우리 서버가 확인을 얻습니다 -> 우리 서버가 상점에 확인을 보냅니다.

이렇게하면 어떨까요?

+0

네,하지만 그건 두 단계 과정입니다. – slash197

관련 문제