我正在尝试执行以下操作:当用户选择某些项目并点击"立即付款时#34;我们网站上的按钮,我将选中的项目状态标记为"暂停"所以没有其他人可以选择这些项目。如果我收到"完成"从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>