如何解决是否可以在不使用paypal_dict形式的情况下集成Django Paypal IPN?
我正在尝试使用paypal提供的javascript按钮代码,而不是使用从视图传递到模板的paypal_dict表单。
由于它的现代设计和简单性,我想使用贝宝代码。
我的Paypal代码在沙盒上运行良好。具体来说,我使用的是订阅付款方式。
我已在settings.py中集成了贝宝IPN:
INSTALLED_APPS = [
...
'paypal.standard.ipn',...
urls.py:
urlpatterns += [
...
path('',include(apps.get_app_config('oscar').urls[0])),...
我已将以下内容添加到apps.py
from django.apps import AppConfig
class MypaypalConfig(AppConfig):
name = 'myPaypal'
def ready(self):
import myPaypal.signals.handlers
这是我的handlers.py文件:
from paypal.standard.models import ST_PP_COMPLETED
from paypal.standard.ipn.signals import valid_ipn_received
from django.utils import timezone
from Store.colors import *
def show_me_the_money(sender,**kwargs):
ipn_obj = sender
print(sender)
if ipn_obj.payment_status == ST_PP_COMPLETED:
print("ST_PP_COMPLETED")
valid_ipn_received.connect(show_me_the_money)
,在我的模板中,我有paypal提供的代码:
<div id="paypal-button-container"></div>
<script src="https://www.paypal.com/sdk/js?client-id= ***" data-sdk-integration-source="button-factory"></script>
<script>
paypal.Buttons({
style: {
shape: 'pill',color: 'gold',layout: 'vertical',label: 'subscribe'
},createSubscription: function(data,actions) {
return actions.subscription.create({
'plan_id': '***'
});
},onApprove: function(data,actions) {
// $("#confirm_form").submit()
console.log(data)
console.log(actions)
}
}).render('#paypal-button-container');
</script>
成功处理付款(沙盒)后,我没有收到任何IPN。
是否可以通过这种方式集成贝宝IPN?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。