0

私は次のことをしようとしています: ユーザーがいくつかのアイテムを選択し、当社の Web サイトで [今すぐ支払う] ボタンをクリックすると、選択したアイテムのステータスを「保留中」としてマークし、他の誰もこれらのアイテムを選択できないようにします。IPN から「完了」を受け取った場合、アイテムを「購入済み」としてマークし、他のデータベースの変更を行います。IPN から「キャンセル済み」を受け取った場合、「保留中」の項目を「利用可能」に戻します。

ユーザーが支払いを行った(完了した)場合、正常に機能します。ただし、ユーザーが支払いフローを終了した場合 (たとえば、ブラウザーのタブを閉じるだけ)、メッセージを受け取りませんでした。なぜこれが起こっているのかわかりません。または、トランザクションが完了していない場合、ipn はメッセージを表示しませんか?

Paypalボタンのコードは次のとおりです。

                            <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
                                <input type="hidden" name="cmd" value="_cart">
                                <input type="hidden" name="upload" value="1">
                                <input type="hidden" name="business" value="********-facilitator@gmail.com">
                                <input type="hidden" name="env" value="www.sandbox">
                                <input type="hidden" name="address_override" value="1">
                                <c:set var="index" value="${1}"/>
                                <c:forEach items="${items}" var="item">
                                   <input type="hidden" name="item_name_${index}" value="${item.title}">
                                   <input type="hidden" name="amount_${index}" value="${item.askPrice}">
                                   <input type="hidden" name="tax_${index}" value="$<fmt:formatNumber type="number" maxFractionDigits="2" value="${item.askPrice * taxRate}" />">
                                   <c:if test="${index == 1}">
                                       <input type="hidden" name="shipping_${index}" value="$<fmt:formatNumber type="number" maxFractionDigits="2" value="${shipmentFee}" />">
                                   </c:if>
                                   <c:set var="index" value="${index + 1}"/>
                                </c:forEach>
                                <c:remove var="index"/>
                                <!-- Fill full name in the first_name field -->
                                <input type="hidden" name="first_name" value="${info.recipient}">
                                <input type="hidden" name="notify_url" value="<c:url value="https://********.localtunnel.me/payment/paypal/ipn"></c:url>">
                                <input type="hidden" name="address1" value="${info.addressLine1}">
                                <input type="hidden" name="address2" value="${info.addressLine2}">
                                <input type="hidden" name="city" value="${info.city}">
                                <input type="hidden" name="state" value="${info.state}">
                                <input type="hidden" name="zip" value="${info.zip}">
                                <input type="hidden" name="country" value="US">
                                <input type="hidden" name="email" value="${info.email}">
                                <input type="hidden" name="custom" value="${flowId}">
                                <input type="image" name="submit" border="0"
                                    src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal">
                            </form>
4

0 に答える 0