2011-09-12 5 views
4

내 페이지의 페이팔 장바구니 버튼을 통합하려고합니다. 페이팔 당 페이팔을 추가하면 잘 작동하는 것처럼 보입니다.하지만 아약스를 직렬화하여 양식을 제출할 때 302 오류가 발생하고 Div를 생성하지 않습니다.Paypal 페이지를 떠나지 않고 "장바구니에 담기"

기술적으로 나는 누군가가 "장바구니에 담기"버튼을 클릭 할 때 페이지를 새로 고치거나 새 페이지를 열지 않도록 기술적으로 노력하고 있으며 Ajax로이 문제를 해결할 수 있다고 생각했습니다. 분명히 리디렉션은 Ajax 호출이 리디렉션 된 페이지를 게시하거나로드 할 수 없으므로 그러한 가능성을 없애 줍니까?

모든 포인터가 제공됩니다.

자바 스크립트 :

$(document).ready(function(){ 
    $(".addToCart").click(function(){ 
     var ev = arguments[0] || window.event, 
     origEl = ev.target || ev.srcElement; 
     var cartForm = origEl.name; 
     var formData = $(cartForm).serialize(); 
     $.ajax({ 
      type: "POST", 
      url: "https://www.paypal.com/cgi-bin/webscr", 
      cache: false, 
      data: formData, 
      success: onSuccess, 
      error: onError 
     }); 
     return false; 
    }); 
}); 

HTML : 여기

내 코드입니다

<a class="addToCart" cartNumber="#paypal<?PHP echo $counter; ?>"> 
    <img name="#paypal<?PHP echo $counter; ?>" src="images/butNowButton.jpg" cartNumber="#paypal<?PHP echo $counter; ?>" border="0" style="text-decoration:none;" /> 
</a> 
<form name="paypal<?PHP echo $counter; ?>" id="paypal<?PHP echo $counter; ?>" target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
    <input type="hidden" name="cmd" value="_cart"> 
    <input type="hidden" name="business" value="removed for security"> 
    <input type="hidden" name="lc" value="US"> 
    <input type="hidden" name="item_name" value="<?PHP echo $itemName; ?>"> 
    <input type="hidden" name="item_number" value="<?PHP echo $Row['id']; ?>"> 
    <input type="hidden" name="amount" value="<?PHP echo $amount; ?>"> 
    <input type="hidden" name="currency_code" value="USD"> 
    <input type="hidden" name="button_subtype" value="products"> 
    <input type="hidden" name="no_note" value="0"> 
    <input type="hidden" name="tax_rate" value="0.000"> 
    <input type="hidden" name="shipping" value="0.00"> 
    <input type="hidden" name="add" value="1"> 
    <input type="hidden" name="bn" value="PP-hopCartBF:btn_cart_LG.gif:NonHostedGuest"> 
</form> 

덕분에,

실버 타이거

+0

기술적으로 오류가 아닌 302를 얻는 이유는 무엇인지 전혀 모릅니다. 그러나 대안으로, https://minicart.paypal-labs.com/의 PayPal Mini Cart를 살펴보십시오 - 귀하의 필요에 부합 할 수 있습니까? – Robert

+0

믿거 나 말거나 .. 내가 대답하기 전에 찾은 것처럼 그것을 사용할 수있었습니다. 그것은 잘 작동 :) 도움에 대한 많은 thx 이제 PHP로 여러 장바구니에 여러 항목을 추가 할 수있는 방법을 찾아야 만합니다 (고객이 여러 항목을 선택한 다음 해당 장바구니에 추가합니다) .... 대답을 찾지 못했습니다. 아직까지. – Silvertiger

답변

0

나는 추가 t에 대한 개별 버튼이 장바구니에 넣고 추가로 여러 항목을 추가하려면이 과정이 필요합니다.

양식을 사용하여 "upload = '1'"방법을 사용하여 여러 항목을 제출할 수 있지만 제출하면 현재 장바구니 항목을 새 목록으로 "덮어 씁니다"... 작동하지 않습니다 하나의 "장바구니에 담기"버튼으로 입력 한 다른 항목은 사라집니다.

아무도이 경험이 있습니까? 나는 paypal hd API를 사용하여 아이템을 추가 할 수 있기를 바랬지 만 그런 것을 찾을 수 없었다.

1

장바구니 API의 add="1" 메서드를 사용하여 여러 항목을 제출할 수 있습니다. 이와 같이 제출하려는 각 제품에 item_name, item_number 및/또는 amount 개의 변수를 포함하기 만하면됩니다.

<!-- item 1 --> 
<input type="hidden" name="item_name_1" value="...."> 
<input type="hidden" name="item_number_1" value="...."> 
<input type="hidden" name="amount_1" value="...."> 
<!-- item 2 --> 
<input type="hidden" name="item_name_2" value="...."> 
<input type="hidden" name="item_number_2" value="...."> 
<input type="hidden" name="amount_2" value="...."> 
<!-- item x --> 
<input type="hidden" name="item_name_x" value="...."> 
<input type="hidden" name="item_number_x" value="...."> 
<input type="hidden" name="amount_x" value="...."> 

이 API 방법 및 사용할 수있는 변수에 대한 자세한 내용은 HTML Variables for PayPal Payments Standard를 확인하시기 바랍니다.

관련 문제