我想知道你是否可以用某些东西来帮助我(我认为这不是那么难,它只是超出我的意义)。我正在尝试使用django-merchant设置应用程序以通过Authorize.net处理定期结算。商家的文件在这方面有点薄。
我正在使用ARB。这是对网关的呼叫:
return g1.recurring(payment_arguments.get('rate', None), cc, options = payment_options)
成功的响应会生成如下字典:
{u'ARBCreateSubscriptionResponse': {u'messages': {u'message': {u'code': u'I00001', u'text': u'Successful.'}, u'resultCode': u'Ok'}, u'subscriptionId': u'933728'}}
显然我已经开始工作了('成功'代码:' I00001')。我想记录回复。 Merchant有一个AuthorizeAIMResponse模型类,我已将其子类化在其他项目中。一段摘录:
import datetime
from django.db import models
from billing.models.authorize_models import AuthorizeAIMResponse
class PaymentRequest(models.Model):
"""
A payment request object is created for every payment request. Successful payment requests get an invoice number
"""
created = models.DateTimeField(default=datetime.datetime.now, editable=False)
response = models.OneToOneField(AuthorizeAIMResponse, blank=True, null=True)
invoice_number = models.CharField(max_length=15)
...
Merchant’s documentation on recurring billing只说:
重复发生(money,creditcard,options = None):设置定期交易(或订阅)的方法。 子类必须实现此方法。
我应该如何构建我的PaymentRequest模型(和/或ARBCreateSubscriptionResponse模型/对象)来正确捕获和记录响应?
答案 0 :(得分:1)
我找到了一种方法来完成这项工作。可能不是最优雅的解决方案。我按照converting a Python dictionary to an object上这篇文章中使用的方法。然后,我创建了一个模型来存储响应数据。