forked from rocketgate/rocketgate-python-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestUpdatePI.py
More file actions
121 lines (101 loc) · 4.3 KB
/
TestUpdatePI.py
File metadata and controls
121 lines (101 loc) · 4.3 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#! /usr/bin/env python
#
# Copyright notice:
# (c) Copyright 2020 RocketGate
# All rights reserved.
#
# The copyright notice must not be removed without specific, prior
# written permission from RocketGate.
#
# This software is protected as an unpublished work under the U.S. copyright
# laws. The above copyright notice is not intended to effect a publication of
# this work.
# This software is the confidential and proprietary information of RocketGate.
# Neither the binaries nor the source code may be redistributed without prior
# written permission from RocketGate.
#
# The software is provided "as-is" and without warranty of any kind, express, implied
# or otherwise, including without limitation, any warranty of merchantability or fitness
# for a particular purpose. In no event shall RocketGate be liable for any direct,
# special, incidental, indirect, consequential or other damages of any kind, or any damages
# whatsoever arising out of or in connection with the use or performance of this software,
# including, without limitation, damages resulting from loss of use, data or profits, and
# whether or not advised of the possibility of damage, regardless of the theory of liability.
#
import datetime
from RocketGate import *
the_time = datetime.datetime.now().strftime("%Y%m%d.%H%M%S")
cust_id = the_time + ".PythonTest"
inv_id = the_time + ".UploadPlTest"
merch_id = "1"
merch_password = "testpassword"
request = GatewayRequest()
response = GatewayResponse()
service = GatewayService()
#
# Setup the nly request.
#
request.Set(GatewayRequest.MERCHANT_ID, merch_id)
request.Set(GatewayRequest.MERCHANT_PASSWORD, merch_password)
request.Set(GatewayRequest.MERCHANT_CUSTOMER_ID, cust_id)
request.Set(GatewayRequest.MERCHANT_INVOICE_ID, inv_id)
request.Set(GatewayRequest.AMOUNT, 1.99)
request.Set(GatewayRequest.CURRENCY, "USD")
request.Set(GatewayRequest.REBILL_FREQUENCY, "MONTHLY")
request.Set(GatewayRequest.CARDNO, "4111111111111111")
request.Set(GatewayRequest.EXPIRE_MONTH, "02")
request.Set(GatewayRequest.EXPIRE_YEAR, "2030")
request.Set(GatewayRequest.CVV2, "999")
request.Set(GatewayRequest.BILLING_ADDRESS, "123 Some Street")
request.Set(GatewayRequest.BILLING_CITY, "Las Vegas")
request.Set(GatewayRequest.BILLING_STATE, "Nevada")
request.Set(GatewayRequest.BILLING_ZIPCODE, "89141")
request.Set(GatewayRequest.BILLING_COUNTRY, "US")
request.Set(GatewayRequest.CUSTOMER_FIRSTNAME, "Monty")
request.Set(GatewayRequest.CUSTOMER_LASTNAME, "Python")
request.Set(GatewayRequest.EMAIL, "python_user@rocketgate.com")
request.Set(GatewayRequest.IPADDRESS, "68.224.133.117")
#
# Risk/Scrub Request Setting
#
request.Set(GatewayRequest.AVS_CHECK, "IGNORE")
request.Set(GatewayRequest.CVV2_CHECK, "IGNORE")
request.Set(GatewayRequest.SCRUB, "IGNORE")
#
# Setup test parameters in the service.
#
service.SetTestMode(1)
#
# Perform the Purchase transaction.
#
status = service.PerformPurchase(request, response)
if status:
print("Purchase succeeded")
print("GUID: ", response.Get(GatewayResponse.TRANSACT_ID))
# Update Personal Information
##
## This would normally be two separate processes,
## but for example's sake is in one process (thus we clear and set a new GatewayRequest object)
## The key values required are MERCHANT_CUSTOMER_ID and MERCHANT_INVOICE_ID.
##
request = GatewayRequest()
request.Set(GatewayRequest.MERCHANT_ID, merch_id)
request.Set(GatewayRequest.MERCHANT_PASSWORD, merch_password)
request.Set(GatewayRequest.MERCHANT_CUSTOMER_ID, cust_id)
request.Set(GatewayRequest.MERCHANT_INVOICE_ID, inv_id)
request.Set(GatewayRequest.EMAIL, "Pythontest_updated@fakedomain.com")
request.Set(GatewayRequest.USERNAME, "Pythontest_user_updated")
request.Set(GatewayRequest.CUSTOMER_PASSWORD, "Pythontest_pass_updated")
status = service.PerformRebillUpdate(request, response)
if status:
print("\nUpdate PI succeeded")
else:
print("\nUpdate PI failed")
print(" Reason Code: ", response.Get(GatewayResponse.REASON_CODE))
else:
print("Test Purchase failed\n")
print("GUID: ", response.Get(GatewayResponse.TRANSACT_ID))
print("Reason Code: ", response.Get(GatewayResponse.REASON_CODE))
print("Exception: ", response.Get(GatewayResponse.EXCEPTION))
print("Scrub: ", response.Get(GatewayResponse.SCRUB_RESULTS))
exit()