def test_018_partial_approval_visa(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '4012002000060016' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 direct_market_data = HpsDirectMarketData('123456') response = self.service.charge(130)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data)\ .with_allow_partial_auth(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('10', response.response_code) self.assertIsNotNone(response.authorized_amount) self.assertEqual(u'110.00', response.authorized_amount)
def test_012_charge_discover(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '750241234' direct_market_data = HpsDirectMarketData('123456') card = HpsCreditCard() card.number = '6011000990156527' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 builder = self.service.charge(17.03)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data) if self.use_tokens: builder.with_token(self.__class__.discover_token) else: builder.with_card(card) response = builder.execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code)
def test_020_partial_approval_master_card(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '75024' direct_market_data = HpsDirectMarketData('123456') card = HpsCreditCard() card.number = '6011000990156527' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.charge(155)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data)\ .with_allow_partial_auth(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('10', response.response_code) self.assertIsNotNone(response.authorized_amount) self.assertEqual(u'100.00', response.authorized_amount) self.__class__.test_20_transaction_id = response.transaction_id
def test_023_level_ii_response_r(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '4012002000060016' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.charge(123.45)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_cpc_req(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertEqual('R', response.cpc_indicator) cpc_data = HpsCPCData('', HpsTaxType.tax_exempt) cpc_response = self.service.cpc_edit(response.transaction_id)\ .with_cpc_data(cpc_data)\ .execute() self.assertIsNotNone(cpc_response) self.assertEqual('00', cpc_response.response_code)
def test_027_level_ii_response_s(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '5473500000000014' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.charge(111.08)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_cpc_req(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertEqual('S', response.cpc_indicator) cpc_data = HpsCPCData('9876543210', HpsTaxType.sales_tax, 1.00) cpc_response = self.service.cpc_edit(response.transaction_id)\ .with_cpc_data(cpc_data)\ .execute() self.assertIsNotNone(cpc_response) self.assertEqual('00', cpc_response.response_code)
def test_011_charge_master_card(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '5473500000000014' card.exp_month = 12 card.exp_year = 2015 card.cvv = 123 direct_market_data = HpsDirectMarketData('123456') builder = self.service.charge(17.02)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data) if self.use_tokens: builder.with_token(self.__class__.mastercard_token) else: builder.with_card(card) response = builder.execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code)
def test_021_level_ii_response_b(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860 Dallas Pkwy' card_holder.address.zip = '750241234' card = HpsCreditCard() card.number = '4012002000060016' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.charge(112.34)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_cpc_req(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertEqual('B', response.cpc_indicator) cpc_data = HpsCPCData('9876543210', HpsTaxType.not_used) cpc_response = self.service.cpc_edit(response.transaction_id)\ .with_cpc_data(cpc_data)\ .execute() self.assertIsNotNone(cpc_response) self.assertEqual('00', cpc_response.response_code)
def test_016_authorization_master_card(self): # Test 016a Authorization card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860 Dallas Pkwy' card_holder.address.zip = '750241234' card = HpsCreditCard() card.number = '5473500000000014' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 direct_market_data = HpsDirectMarketData('123456') response = self.service.authorize(17.07)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) # test 016b Capture/AddToBatch capture = self.service.capture(response.transaction_id).execute() self.assertIsNotNone(capture) self.assertEqual('00', capture.response_code)
def test_add_with_token(self): token_service = HpsTokenService( TestServicesConfig.valid_pay_plan_config.public_key) card = HpsCreditCard() card.number = 4111111111111111 card.exp_month = '12' card.exp_year = '2020' card.cvv = '123' token = token_service.get_token(card) if token.token_value is None: self.fail("cannot generate token") payment_method = HpsPayPlanPaymentMethod() payment_method.customer_key = self.customer.customer_key payment_method.payment_method_type = HpsPayPlanPaymentMethodType.CREDIT_CARD payment_method.name_on_account = 'Bill Johnson' payment_method.payment_token = token.token_value payment_method.expiration_date = '0120' payment_method.country = 'USA' response = self.service.add_payment_method(payment_method) self.assertIsNotNone(response) self.assertIsNotNone(response.payment_method_key)
def test_013_charge_amex(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860 Dallas Pkwy' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '372700699251018' card.exp_month = 12 card.exp_year = 2025 card.cvv = 1234 direct_market_data = HpsDirectMarketData('123456') builder = self.service.charge(17.04)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data) if self.use_tokens: builder.with_token(self.__class__.amex_token) else: builder.with_card(card) response = builder.execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code)
def test_010_charge_visa(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860 Dallas Pkwy' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '4012002000060016' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 direct_market_data = HpsDirectMarketData('123456') builder = self.service.charge(17.01)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data) if self.use_tokens: builder.with_token(self.__class__.visa_token) else: builder.with_card(card) response = builder.execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.__class__.test_10_transaction_id = response.transaction_id
def test_032_level_ii_no_response(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '372700699251018' card.exp_month = 12 card.exp_year = 2025 card.cvv = 1234 response = self.service.charge(111.13)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_cpc_req(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertEqual('0', response.cpc_indicator) cpc_data = HpsCPCData('9876543210', HpsTaxType.tax_exempt) cpc_response = self.service.cpc_edit(response.transaction_id)\ .with_cpc_data(cpc_data)\ .execute() self.assertIsNotNone(cpc_response) self.assertEqual('00', cpc_response.response_code)
def test_037_fraud_prevention_sale(self): card = HpsCreditCard() card.number = '4012002000060016' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.charge(15000).with_card(card).execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code)
def test_038_fraud_prevention_return(self): card = HpsCreditCard() card.number = '4012002000060016' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.refund(15000).with_card(card).execute() self.assertIsNotNone(response) if response.response_code != '00': self.assertEqual('41', response.response_code)
def test_cvv_with_leading_zero(self): self.charge_service._config = TestServicesConfig.valid_services_config card = HpsCreditCard() card.number = "4111111111111111" card.exp_month = 12 card.exp_year = 2025 card.cvv = "012" response = self.charge_service.authorize(15.15, 'usd', card) self.assertIsNotNone(response) self.assertEquals('00', response.response_code)
def test_034_offline_credit_return(self): card = HpsCreditCard() card.number = '5473500000000014' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 direct_market_data = HpsDirectMarketData('123456') response = self.service.refund(15.15)\ .with_card(card)\ .with_direct_market_data(direct_market_data)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code)
def test_033_offline_sale(self): card = HpsCreditCard() card.number = '4012002000060016' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 direct_market_data = HpsDirectMarketData('123456') response = self.service.offline_charge(17.10)\ .with_card(card)\ .with_offline_auth_code('654321')\ .with_direct_market_data(direct_market_data)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code)
def test_003_verify_discover(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '6011000990156527' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.verify()\ .with_card(card)\ .with_card_holder(card_holder)\ .with_request_multi_use_token(self.use_tokens)\ .execute() self.assertIsNotNone(response) self.assertEqual('85', response.response_code)
def test_update_token_expiry(self): config = HpsServicesConfig() config.secret_api_key = 'skapi_cert_MTyMAQBiHVEAewvIzXVFcmUd2UcyBge_eCpaASUp0A' self.charge_service._config = config card = HpsCreditCard() card.number = "4111111111111111" card.exp_month = 12 card.exp_year = 2025 card.cvv = "012" response = self.charge_service.authorize(12.09, 'usd', card, request_multi_use_token=True) self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertIsNotNone(response.token_data) update_token_response = self.charge_service.update_token_expiry(response.token_data.token_value, 12, 2035) self.assertIsNotNone(response) self.assertEqual('0', update_token_response.response_code)
def test_014_charge_jcb(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860 Dallas Pkwy' card_holder.address.zip = '750241234' card = HpsCreditCard() card.number = '3566007770007321' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 direct_market_data = HpsDirectMarketData('123456') response = self.service.charge(17.05)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code)
def test_008_charge_discover_token(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '750241234' card = HpsCreditCard() card.number = '6011000990156527' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.charge(13.03)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_request_multi_use_token(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertIsNotNone(response.token_data) self.assertIsNotNone(response.token_data.token_value) self.__class__.discover_token = response.token_data.token_value
def test_007_charge_master_card_token(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '5473500000000014' card.exp_month = 12 card.exp_year = 2015 card.cvv = 123 response = self.service.charge(13.02)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_request_multi_use_token(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertIsNotNone(response.token_data) self.assertIsNotNone(response.token_data.token_value) self.__class__.mastercard_token = response.token_data.token_value
def test_009_charge_amex_token(self): card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860 Dallas Pkwy' card_holder.address.zip = '75024' card = HpsCreditCard() card.number = '372700699251018' card.exp_month = 12 card.exp_year = 2025 card.cvv = 1234 response = self.service.charge(13.04)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_request_multi_use_token(True)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertIsNotNone(response.token_data) self.assertIsNotNone(response.token_data.token_value) self.__class__.amex_token = response.token_data.token_value
def test_017_authorization_discover(self): # Test 017a Authorization card_holder = HpsCardHolder() card_holder.address = HpsAddress() card_holder.address.address = '6860' card_holder.address.zip = '75024' direct_market_data = HpsDirectMarketData('123456') card = HpsCreditCard() card.number = '6011000990156527' card.exp_month = 12 card.exp_year = 2025 card.cvv = 123 response = self.service.authorize(17.08)\ .with_card(card)\ .with_card_holder(card_holder)\ .with_direct_market_data(direct_market_data)\ .execute() self.assertIsNotNone(response) self.assertEqual('00', response.response_code)
def test_update_token_expiry(self): config = HpsServicesConfig() config.secret_api_key = 'skapi_cert_MTyMAQBiHVEAewvIzXVFcmUd2UcyBge_eCpaASUp0A' self.charge_service._config = config card = HpsCreditCard() card.number = "4111111111111111" card.exp_month = 12 card.exp_year = 2025 card.cvv = "012" response = self.charge_service.authorize(12.09, 'usd', card, request_multi_use_token=True) self.assertIsNotNone(response) self.assertEqual('00', response.response_code) self.assertIsNotNone(response.token_data) update_token_response = self.charge_service.update_token_expiry( response.token_data.token_value, 12, 2035) self.assertIsNotNone(response) self.assertEqual('0', update_token_response.response_code)