forked from AuthorizeNet/sample-code-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupdate-subscription.py
More file actions
54 lines (42 loc) · 1.85 KB
/
update-subscription.py
File metadata and controls
54 lines (42 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import os, sys
import imp
from authorizenet import apicontractsv1
from authorizenet.apicontrollers import *
constants = imp.load_source('modulename', 'constants.py')
def update_subscription(subscriptionId):
merchantAuth = apicontractsv1.merchantAuthenticationType()
merchantAuth.name = constants.apiLoginId
merchantAuth.transactionKey = constants.transactionKey
creditcard = apicontractsv1.creditCardType()
creditcard.cardNumber = "4111111111111111"
creditcard.expirationDate = "2035-12"
payment = apicontractsv1.paymentType()
payment.creditCard = creditcard
#set profile information
profile = apicontractsv1.customerProfileIdType()
profile.customerProfileId = "121212"
profile.customerPaymentProfileId = "131313"
profile.customerAddressId = "141414"
subscription = apicontractsv1.ARBSubscriptionType()
subscription.payment = payment
#to update customer profile information
#subscription.profile = profile
request = apicontractsv1.ARBUpdateSubscriptionRequest()
request.merchantAuthentication = merchantAuth
request.refId = "Sample"
request.subscriptionId = subscriptionId
request.subscription = subscription
controller = ARBUpdateSubscriptionController(request)
controller.execute()
response = controller.getresponse()
if (response.messages.resultCode=="Ok"):
print ("SUCCESS")
print ("Message Code : %s" % response.messages.message[0]['code'].text)
print ("Message text : %s" % response.messages.message[0]['text'].text)
else:
print ("ERROR")
print ("Message Code : %s" % response.messages.message[0]['code'].text)
print ("Message text : %s" % response.messages.message[0]['text'].text)
return response
if(os.path.basename(__file__) == os.path.basename(sys.argv[0])):
update_subscription(constants.subscriptionId)