python - django-paypal recurring_payment_id 为空

标签 python django paypal django-paypal

我正在使用 django-paypal进入我的 Django 应用程序。我正在尝试将定期付款创建为:

paypal_dict = {
    "cmd": "_xclick-subscriptions",
    "business": settings.PAYPAL_RECEIVER_EMAIL,
    "item_name": self.subscription.name,
    "a3": str(self.subscription.rate),
    "p3": 1,
    "t3": self.subscription.recuring_type,
    "src": "1",
    "sra": "1",
    "no_note": "1",
    "invoice": "%s" % str(self.order.pk),
    "notify_url": "my_notify_url",
    "return_url": "my_success_url",
    "cancel_return": "my_cancel_url",
    "currency_code": self.subscription.currency.code,
}

paypal_form = PayPalPaymentsForm(initial=paypal_dict, button_type="subscribe")

我只收到了两个 ipn,即 subscr_signupsubscr_payment,没问题。 我收到了很好的 payment_was_successful。 问题是 ipn_obj 从来没有 recurring_payment_idpayment_status 的值,它们总是空的,在沙盒中我可以看到创建了重复配置文件。我是否将经常性付款弄错了,我是否遗漏了一些将其标识为经常性付款的变量?

最佳答案

当您收到带有“subscr_signup”值的“txn_type”变量时,您不会收到“recurring_payment_id”变量。您应该得到一个“subscr_id”变量,其中包含您要查找的重复配置文件 ID。

对于 Payments Standard Subscriptions,该值应以“S-”开头

IPN 帖子有两种类型的定期付款变量。这有点令人困惑 - 抱歉。

关于python - django-paypal recurring_payment_id 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16792142/

相关文章:

python - 艰难地学习 Python,Ex 49 : Comparing objects using assert_equal

python - 使用正则表达式替换命令在文件名字符串中小于 10 的数字前面插入前导零

django - 松弛事件 API : Events are posted (multiple times) for responses of own bot user

javascript - 从 Django 到 Javascript 的 Python 数据

javascript - Paypal 错误 ppxo_no_token_passed_to_payment 又名 "No value passed to payment"

paypal - 如何从 REST API 正确获取 paypal 交易

python - Python 命名中尾随下划线的优点是什么?

python - requests.post 的自定义 JSONEncoder

python - 如何在 Django 设置中配置 CELERYBEAT_SCHEDULE?

php - fatal error : Class 'Paypal\Api\Payer' not found en sdk Paypal