입니다. 페이팔 가입, 표준 웹 사이트 버튼을 사용하고 있습니다. 따라서이 질문에 대해서는 새로운 사용자의 사용자 계정을 생성하기 위해 payment_type이 subscr_signup입니다. 내 HTML 버튼 형태는 누군가가 지불을 완료하면, S/그는 우리의 감사로 리디렉션됩니다이 2Paypal IPN return_url의 인증은 유효하지 않지만 notify_url의 인증은
로 설정 http://domain.com/billing/ipn로 설정 "notify_url", "반환"http://domain.com/billing/thankyou로 설정하고, "RM"의 값을 가지고 POST에서 IPN 데이터와 함께 페이지를 표시합니다. 알았어. 하지만 페이팔로 확인하면 무효 응답이 있습니다. 이제 이상한 점이 있습니다. IPN notify_url로 데이터를 가져와야합니다. 맞습니까? 그리고 우리는했지만, 이번에는 Paypal에 확인하는 것으로 VERIFIED를 반환합니다.
전송되는 데이터에 약간의 차이가 있음을 확인했습니다. RETURN에 대한
데이터는 감사 페이지 - (JSON-ified하게) INVALID을 NOTIFY_URL에 대한
{
"txn_type": "subscr_signup",
"subscr_id": "I-HHTJ0ANUHKRU",
"last_name": "Ismail",
"residence_country": "CA",
"mc_currency": "USD",
"item_name": "Individual eStudio Plan",
"business": "[email protected]",
"amount3": "99.00",
"recurring": "1",
"address_street": "1 Maire-Victorin",
"payer_status": "verified",
"payer_email": "[email protected]",
"address_status": "confirmed",
"first_name": "Iszuddin",
"receiver_email": "[email protected]",
"address_country_code": "CA",
"payer_id": "LYRHTKFEH45M8",
"address_city": "Toronto",
"reattempt": "1",
"item_number": "IND",
"address_state": "Ontario",
"subscr_date": "22:52:19 Oct 29, 2014 PDT",
"address_zip": "M5A 1E1",
"charset": "windows-1252",
"period3": "1 Y",
"address_country": "Canada",
"mc_amount3": "99.00",
"address_name": "Iszuddin Ismail",
"auth": "AUjfQ4uRNLr22YfSNPGR1YLm5w81cYyFjf9PEu7mVGSLTp2cFD67opAIXJ-Dtsnw4KEXlF0Y268Ks9VmrwpDRrg",
"form_charset": "UTF-8"
}
데이터가 백엔드 IPN 데이터 - (JSON-ified하게) 확인 됨이
{
"txn_type": "subscr_signup",
"subscr_id": "I-HHTJ0ANUHKRU",
"last_name": "Ismail",
"residence_country": "CA",
"mc_currency": "USD",
"item_name": "Individual eStudio Plan",
"business": "[email protected]",
"amount3": "99.00",
"recurring": "1",
"address_street": "1 Maire-Victorin",
"verify_sign": "Ajiy6YmBz00sV0oT2S-obuaQ3kehAQO0-T8GJFKpiQnaRzRv7.oJ5Eqy",
"payer_status": "verified",
"test_ipn": "1",
"payer_email": "[email protected]",
"address_status": "confirmed",
"first_name": "Iszuddin",
"receiver_email": "[email protected]",
"address_country_code": "CA",
"payer_id": "LYRHTKFEH45M8",
"address_city": "Toronto",
"reattempt": "1",
"item_number": "IND",
"address_state": "Ontario",
"subscr_date": "22:52:19 Oct 29, 2014 PDT",
"address_zip": "M5A 1E1",
"charset": "windows-1252",
"notify_version": "3.8",
"period3": "1 Y",
"address_country": "Canada",
"mc_amount3": "99.00",
"address_name": "Iszuddin Ismail",
"ipn_track_id": "698ae88a36ef9"
}
내가 기대합니까 때문에 응답 (확인 됨 또는 잘못됨)으로 인해 Paypal IPN에 대한 인증 코드가 맞다고 생각합니다. 하지만 경우에 따라 여기 내 HTML 버튼 코드가 있습니다.
<form action="<?php echo $this->url?>" method="post" name="ppform">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="<?php echo $this->paypal_email; ?>">
<input type="hidden" name="item_name" value="<?php echo $selected_plan['name'] ?>">
<input type="hidden" name="item_number" value="<?php echo $selected_plan['code'] ?>">
<input type="hidden" name="a3" value="<?php echo $selected_plan['price']; ?>"> <!-- subscription price -->
<input type="hidden" name="p3" value="1"> <!-- rebill every x value -->
<input type="hidden" name="t3" value="<?php echo $selected_plan['recurring_period'] ?>"> <!-- interval M=month/W=week/Y=year -->
<input type="hidden" name="src" value="1"> <!-- Is this recurring 1=yes/0=no -->
<input type="hidden" name="currency_code" value="<?php echo $selected_plan['currency'] ?>">
<!-- <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> -->
<input type="hidden" name="rm" value="2">
<input type="hidden" name="notify_url" value="<?php echo site_url('billing/ipn') ?>">
<input type="hidden" name="return" value="<?php echo site_url('billing/thankyou') ?>">
</form>
질문이 불완전하거나 불분명하다고 생각합니다. 아래 의견에 아래 PDT를 사용 했으므로이 정보로 질문을 업데이트해야합니다. [here] (https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNPDTAnAlternativetoIPN/)에서 설명한대로 IPN과 PDT를 모두 구현할 수 있습니다. 사용중인 프로그래밍 언어 (PHP 일 가능성이 무엇입니까?)를 지정하고 응답을 얻을 확률이 높아 지므로 태그를 추가하십시오. 테스트를 위해 Sandbox를 사용하고 있습니까? – bg17aw
일부 코드도 게시하십시오. IPN [here] (https://github.com/paypal/ipn-code-samples) 구현을위한 예제 코드 (PHP, .Net, Coldfusion 등), PDT 구현을위한 예제 코드 [here] (https : // github. co.kr/paypal/pdt-code-samples) – bg17aw