|
17 | 17 | import net.authorize.api.contract.v1.CustomerDataType;
|
18 | 18 | import net.authorize.api.contract.v1.MessageTypeEnum;
|
19 | 19 | import net.authorize.api.contract.v1.MessagesType;
|
| 20 | +import net.authorize.api.contract.v1.OpaqueDataType; |
| 21 | +import net.authorize.api.contract.v1.PayPalType; |
20 | 22 | import net.authorize.api.contract.v1.PaymentType;
|
21 | 23 | import net.authorize.api.contract.v1.TransactionRequestType;
|
22 | 24 | import net.authorize.api.controller.CreateCustomerProfileFromTransactionConroller;
|
@@ -48,34 +50,72 @@ public void tearDown() throws Exception {
|
48 | 50 | }
|
49 | 51 |
|
50 | 52 | @Test
|
51 |
| - public void createTransactionSample() |
| 53 | + public void createTransactionWithCreditCard() |
52 | 54 | {
|
53 |
| - //Common code to set for all requests |
54 |
| - ApiOperationBase.setEnvironment(environment); |
55 |
| - ApiOperationBase.setMerchantAuthentication(cnpMerchantAuthenticationType); |
56 |
| - |
57 | 55 | CreditCardType creditCard = new CreditCardType();
|
58 | 56 | creditCard.setCardNumber("4111111111111111");
|
59 | 57 | creditCard.setExpirationDate("0616");
|
60 | 58 |
|
61 | 59 | PaymentType paymentType = new PaymentType();
|
62 | 60 | paymentType.setCreditCard(creditCard);
|
63 | 61 |
|
| 62 | + CreateTransactionResponse response = createAndValidate("authOnlyTransaction",paymentType); |
| 63 | + |
| 64 | + Assert.assertNotNull(response); |
| 65 | + Assert.assertEquals(MessageTypeEnum.OK, response.getMessages().getResultCode()); |
| 66 | + Assert.assertFalse(response.getTransactionResponse().getTransId().isEmpty()); |
| 67 | + } |
| 68 | + |
| 69 | + @Test |
| 70 | + public void createTransactionWithApplePay() |
| 71 | + { |
| 72 | + OpaqueDataType opaqueData = new OpaqueDataType(); |
| 73 | + opaqueData.setDataDescriptor("COMMON.APPLE.INAPP.PAYMENT"); |
| 74 | + opaqueData.setDataValue("eyJkYXRhIjoiQkRQTldTdE1tR2V3UVVXR2c0bzdFXC9qKzFjcTFUNzhxeVU4NGI2N2l0amNZSTh3UFlBT2hzaGpoWlBycWRVcjRYd1BNYmo0emNHTWR5KysxSDJWa1BPWStCT01GMjV1YjE5Y1g0bkN2a1hVVU9UakRsbEIxVGdTcjhKSFp4Z3A5ckNnc1NVZ2JCZ0tmNjBYS3V0WGY2YWpcL284WkliS25yS1E4U2gwb3VMQUtsb1VNbit2UHU0K0E3V0tycXJhdXo5SnZPUXA2dmhJcStIS2pVY1VOQ0lUUHlGaG1PRXRxK0grdzB2UmExQ0U2V2hGQk5uQ0hxenpXS2NrQlwvMG5xTFpSVFliRjBwK3Z5QmlWYVdIZWdoRVJmSHhSdGJ6cGVjelJQUHVGc2ZwSFZzNDhvUExDXC9rXC8xTU5kNDdrelwvcEhEY1JcL0R5NmFVTStsTmZvaWx5XC9RSk4rdFMzbTBIZk90SVNBUHFPbVhlbXZyNnhKQ2pDWmxDdXcwQzltWHpcL29iSHBvZnVJRVM4cjljcUdHc1VBUERwdzdnNjQybTRQendLRitIQnVZVW5lV0RCTlNEMnU2amJBRzMiLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiOTRlZTA1OTMzNWU1ODdlNTAxY2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zYWN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZGYxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJHbStnc2wwUFpGVFwva0RkVVNreHd5Zm84SnB3VFFRekJtOWxKSm5tVGw0REdVdkFENEdzZUdqXC9wc2hCWjBLM1RldXFEdFwvdERMYkUrOFwvbTB5Q21veHc9IiwicHVibGljS2V5SGFzaCI6IlwvYmI5Q05DMzZ1QmhlSEZQYm1vaEI3T28xT3NYMkora0pxdjQ4ek9WVmlRPSJ9LCJzaWduYXR1cmUiOiJNSUlEUWdZSktvWklodmNOQVFjQ29JSURNekNDQXk4Q0FRRXhDekFKQmdVckRnTUNHZ1VBTUFzR0NTcUdTSWIzRFFFSEFhQ0NBaXN3Z2dJbk1JSUJsS0FEQWdFQ0FoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQXdKekVsTUNNR0ExVUVBeDRjQUdNQWFBQnRBR0VBYVFCQUFIWUFhUUJ6QUdFQUxnQmpBRzhBYlRBZUZ3MHhOREF4TURFd05qQXdNREJhRncweU5EQXhNREV3TmpBd01EQmFNQ2N4SlRBakJnTlZCQU1lSEFCakFHZ0FiUUJoQUdrQVFBQjJBR2tBY3dCaEFDNEFZd0J2QUcwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOQzgra2d0Z212V0YxT3pqZ0ROcmpURUJSdW9cLzVNS3ZsTTE0NnBBZjdHeDQxYmxFOXc0ZklYSkFEN0ZmTzdRS2pJWFlOdDM5ckx5eTd4RHdiXC81SWtaTTYwVFoyaUkxcGo1NVVjOGZkNGZ6T3BrM2Z0WmFRR1hOTFlwdEcxZDlWN0lTODJPdXA5TU1vMUJQVnJYVFBITmNzTTk5RVBVblBxZGJlR2M4N20wckFnTUJBQUdqWERCYU1GZ0dBMVVkQVFSUk1FK0FFSFpXUHJXdEpkN1laNDMxaENnN1lGU2hLVEFuTVNVd0l3WURWUVFESGh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdGdoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQURnWUVBYlVLWUNrdUlLUzlRUTJtRmNNWVJFSW0ybCtYZzhcL0pYditHQlZRSmtPS29zY1k0aU5ERkFcL2JRbG9nZjlMTFU4NFRId05SbnN2VjNQcnY3UlRZODFncTBkdEM4elljQWFBa0NISUkzeXFNbko0QU91NkVPVzlrSmsyMzJnU0U3V2xDdEhiZkxTS2Z1U2dRWDhLWFFZdVpMazJScjYzTjhBcFhzWHdCTDNjSjB4Z2VBd2dkMENBUUV3T3pBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWFCUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUJhSzNFbE9zdGJIOFdvb3NlREFCZitKZ1wvMTI5SmNJYXdtN2M2VnhuN1phc05iQXEzdEF0OFB0eSt1UUNnc3NYcVprTEE3a3oyR3pNb2xOdHY5d1ltdTlVandhcjFQSFlTK0JcL29Hbm96NTkxd2phZ1hXUnowbk1vNXkzTzFLelgwZDhDUkhBVmE4OFNyVjFhNUpJaVJldjNvU3RJcXd2NXh1WmxkYWc2VHI4dz09In0="); |
| 75 | + |
| 76 | + PaymentType paymentType = new PaymentType(); |
| 77 | + paymentType.setOpaqueData(opaqueData); |
| 78 | + |
| 79 | + CreateTransactionResponse response = createAndValidate("authCaptureTransaction", paymentType); |
| 80 | + Assert.assertNotNull(response); |
| 81 | + Assert.assertFalse(response.getTransactionResponse().getTransHash().isEmpty()); |
| 82 | + } |
| 83 | + |
| 84 | + @Test |
| 85 | + public void createTransactionWithPayPal() |
| 86 | + { |
| 87 | + PayPalType payPalData = new PayPalType(); |
| 88 | + payPalData.setPaypalLc("IT"); |
| 89 | + payPalData.setPaypalPayflowcolor("FFFF00"); |
| 90 | + |
| 91 | + PaymentType paymentType = new PaymentType(); |
| 92 | + paymentType.setPayPal(payPalData); |
| 93 | + |
| 94 | + CreateTransactionResponse response = createAndValidate("authOnlyTransaction", paymentType); |
| 95 | + Assert.assertNotNull(response); |
| 96 | + Assert.assertFalse(response.getTransactionResponse().getTransId().isEmpty()); |
| 97 | + Assert.assertFalse(response.getTransactionResponse().getTransHash().isEmpty()); |
| 98 | + Assert.assertNotNull(response.getTransactionResponse().getSecureAcceptance()); |
| 99 | + Assert.assertFalse(response.getTransactionResponse().getSecureAcceptance().getSecureAcceptanceUrl().isEmpty()); |
| 100 | + } |
| 101 | + |
| 102 | + private CreateTransactionResponse createAndValidate(String transactionType, PaymentType paymentType) |
| 103 | + { |
| 104 | + //Common code to set for all requests |
| 105 | + ApiOperationBase.setEnvironment(environment); |
| 106 | + ApiOperationBase.setMerchantAuthentication(cnpMerchantAuthenticationType); |
| 107 | + |
64 | 108 | TransactionRequestType requestInternal = new TransactionRequestType();
|
65 |
| - requestInternal.setTransactionType("authOnlyTransaction"); |
| 109 | + requestInternal.setTransactionType(transactionType); |
66 | 110 | requestInternal.setPayment(paymentType);
|
67 | 111 | requestInternal.setAmount(new BigDecimal(System.currentTimeMillis() % 100));
|
68 |
| - |
| 112 | + |
69 | 113 | CreateTransactionRequest request = new CreateTransactionRequest();
|
70 | 114 | request.setTransactionRequest(requestInternal);
|
71 |
| - |
| 115 | + |
72 | 116 | CreateTransactionController controller = new CreateTransactionController(request);
|
73 | 117 | controller.execute();
|
74 |
| - |
75 |
| - CreateTransactionResponse response = controller.getApiResponse(); |
76 |
| - |
77 |
| - Assert.assertNotNull(response); |
78 |
| - Assert.assertEquals(MessageTypeEnum.OK, response.getMessages().getResultCode()); |
79 |
| - Assert.assertFalse(response.getTransactionResponse().getTransId().isEmpty()); |
| 118 | + |
| 119 | + return controller.getApiResponse(); |
80 | 120 | }
|
81 | 121 | }
|
0 commit comments