1+ package net .authorize .sample .visacheckout ;
2+
3+ import java .math .BigDecimal ;
4+
5+ import net .authorize .Environment ;
6+ import net .authorize .api .controller .base .ApiOperationBase ;
7+ import net .authorize .api .contract .v1 .CreateTransactionRequest ;
8+ import net .authorize .api .contract .v1 .CreateTransactionResponse ;
9+ import net .authorize .api .contract .v1 .MerchantAuthenticationType ;
10+ import net .authorize .api .contract .v1 .OpaqueDataType ;
11+ import net .authorize .api .contract .v1 .MessageTypeEnum ;
12+ import net .authorize .api .contract .v1 .TransactionTypeEnum ;
13+ import net .authorize .api .contract .v1 .PaymentType ;
14+ import net .authorize .api .contract .v1 .TransactionRequestType ;
15+ import net .authorize .api .contract .v1 .TransactionResponse ;
16+ import net .authorize .api .controller .CreateTransactionController ;
17+
18+
19+ //
20+ // Run this sample by doing mvn package,
21+ // then
22+ // java -jar target/VisaCheckoutTransaction-jar-with-dependencies.jar
23+ //
24+ public class VisaCheckoutTransaction {
25+
26+ public static void main (String [] args ) {
27+
28+
29+ //Common code to set for all requests
30+ ApiOperationBase .setEnvironment (Environment .SANDBOX );
31+
32+ MerchantAuthenticationType merchantAuthenticationType = new MerchantAuthenticationType () ;
33+ merchantAuthenticationType .setName ("5KP3u95bQpv" );
34+ merchantAuthenticationType .setTransactionKey ("4Ktq966gC55GAX7S" );
35+ ApiOperationBase .setMerchantAuthentication (merchantAuthenticationType );
36+
37+ // Populate the payment data
38+ PaymentType paymentType = new PaymentType ();
39+ OpaqueDataType opaqueData = new OpaqueDataType ();
40+ opaqueData .setDataDescriptor ("COMMON.VCO.ONLINE.PAYMENT" );
41+ opaqueData .setDataValue ("q1rx4GVCh0dqjZGgSBI8RB/VlI/1lwzTxDnrW/L1D4f/lfKZeQPo34eTB59akZXdRlRBW/dHVWgc2eVebvWpkAKmDrc+7Zr7lGXvHbLG78e0ZgfEReQNS4es6K7DxsDXp0UZSdnxw6g3stQhW2TqR6fcwLj7gWpZvAL3GAftP6QNCJfv6ohFPN9L/t84A1h8M0jClNq7DtDsUhuy35dEBdP8/MKOb7hSRkMqb/8qh7XUR+84FOoAKHAcG6KoRRdogTrYmPBuyDoaWUmDFgRFSSXN7Wj7evVsliis5H9y+tub/f5mAiZtl+fyFC7uIEZOLUcSWHfeX1lWxyWTEYxRq5TwnzewPNn0VbmqPh+/uaHooDQT891nUeZfm79Bunj+NfWtr06YIxW2LW3P6IWuyAhquAseL1hOv7vHT5QGogPuUJlv/+jY52tSsXrVccWu4rTjHShwvFmvxl82VZx55zcIrYFROiFVw+3sN88BL4hNnh3RCYrotWDiAwdJmJLdYhAzO2xiWLRRBgiGn27hi+G381EwLUy/6K1rx6iAN+x2bWWHgyKddSYLo0U7g+UfHBrvNSHZQcQM5LzjiZP86bx2SqQoLrqgSZQcChSy/T6C4vIvlFyomx9+7Soht6J61KoRvhM1yzlvwwjyF0ouamCRUBzrKR6j366TbdrAhAVLfuVc2XbE57Wc9bF0w4+K5I4kfA47XfRHlkA+6S4dpgp+fV+bC/jzrqIQwrs+wehzEaiR43lBQpyfPElX2SGfGk0WH4c4SbIhUY0KtyLmfgCbcAHyCAXN1ZNQvNb8Axw2j/C2B77cE81Dsi9DyGdGclM2u14UqxkXEINS2FoYQI4mZj04TR4oDG6axkp52d+ndagOS0kIH8SM71fPPiXSGw/zbm+JRdrTJLuYSvf1LbrFL2WPnHbuQuZIZDab0guanrVNjsEokJjffUPbvf+uCxytCZ148T5GWD2Daou/MK63mjl05XeySENdl3opaUj0joYFg+MkzaVYpvgiIxGEGuBdy+oA06Y/uxrgt2Xgcwwn2eo3YDUr4kqXWOI7SpqDDV1QWfd/anacjR9hCoqP2+sN2HbzbPi/jqR02etk/eSil2NiWORph2s8KneoQiMMoKfoUvi3SkzzaOxXYhD+UFdN69cxox7Y8enw++faUnDcxydr/Go5LmxJKrLH+Seez6m412ygABHzki+ooJiyYPRL+TuXzQuVDWwPh7qjrh9cU3ljkaWW2HZp+AFInyh65JHUZpSkjeXM+Sfz3VASBLTB8zq/Co737KT9t38lZEn/ffLLvD7NGW1dB3K8h4xhX7FhMLwFCt7WCvtpAXJ4J2FF55x4RDQdwdsPjXR9vHPmRsjU/eNAT8tRrJh8XTSFubyIYNd+67j+Y0u+PvVUCPK2mWTfDgU1ZNsGrI2asrVaStsER64lkfgSWD0bN4hbJaJVPAPaOxYkpzhfU34B2e3IUKdBccgqrXpMXe1r3OETmfLFnk2sIPZwBcDLVtAH5bePsu3wK3MtvmEWjGR4QQGI5oPlz9GnUaexOPAkRVJeOJIazGOgBeFDGDm7urxnKKYZzNKNnjXlij/ccWR9NYDB4TSZ1yxBZpXkLQ9TbOvrxnsy3ZrFhlJT4Nn/0YOPvfYt+sMcUXcB+09oRpFZdpVtPtkxMRiNjetZPjoXKq/2Jxj7yCAfYzRrrlbqbKXF8b06PcmFRb2dsZzbN+maEYhwWgRRa9yy7Ha2TGrH00jZ8tiowcBmnW6/UsuGn0ZMEgA02iaeIqQKf+Kqwa6EMN8HqED4IK38XKOr5RYthTaOcL9FA629MIAArVu5/LPj4b5abM3pTXk9gItVEuf5KfWceaSG1CFY1dD8/IRqIwWQGobQRpyTsYXiirkOIJnnlC8ph6eMIlCMu3wDfB4a2KrXDQuc06qRXi2KNHl8opawi2lpR/rjBfEyX5if47wNlEJkj+D/bCutN9APbSiFGs03X8cTb6CKVghQfx9PD/T+XZTA3yzBwHHZNiNJK2mhheEubgNYcnw1t9Lf9cx174OEayQrU+AORjPnEPGWYx+bYtK6XuQ9bt9gAo4HzaGRF1WB6Dr0p8gfqrxHe9HhjrbeHILmVtIJnv2jDds20pR/VRYs1IFJNWyDjgCe2uWBM+oC22YdSYyn3f2swouqqXz6yl9UTImzCM8KAzLpPGZVFlafJka8soKSxr9KBvAsBnfb34RPB7OMgSo+uqgvB3YGvOu5LpLoaVNxQ1d6GLeeQ9u9olb12Y2kPzGni99f04lI77qoleqzCcCFZC9Q" );
42+ opaqueData .setDataKey ("KCSJeIab7wwH7mFcPM/YL+V9xBCDe4CmSjJ0MPHEodpWz4rmz78U8bR4Qqs1ipLBqH9mrfvLF4pytIcLOjKUtXvAII/xCze84INFMdtsVBgtEp5bZ4leehRQhNM+3/NH" );
43+ paymentType .setOpaqueData (opaqueData );
44+
45+ // Create the payment transaction request
46+ TransactionRequestType txnRequest = new TransactionRequestType ();
47+ txnRequest .setTransactionType (TransactionTypeEnum .AUTH_CAPTURE_TRANSACTION .value ());
48+ txnRequest .setPayment (paymentType );
49+
50+ // Make the API Request
51+ CreateTransactionRequest apiRequest = new CreateTransactionRequest ();
52+ apiRequest .setTransactionRequest (txnRequest );
53+ CreateTransactionController controller = new CreateTransactionController (apiRequest );
54+ controller .execute ();
55+
56+
57+ CreateTransactionResponse response = controller .getApiResponse ();
58+
59+ if (response !=null ) {
60+
61+ // If API Response is ok, go ahead and check the transaction response
62+ if (response .getMessages ().getResultCode () == MessageTypeEnum .OK ) {
63+
64+ TransactionResponse result = response .getTransactionResponse ();
65+ if (result .getResponseCode ().equals ("1" )) {
66+ System .out .println (result .getResponseCode ());
67+ System .out .println ("Successful Visa Checkout Transaction" );
68+ System .out .println (result .getAuthCode ());
69+ System .out .println (result .getTransId ());
70+ }
71+ else
72+ {
73+ System .out .println ("Failed Transaction" +result .getResponseCode ());
74+ }
75+ }
76+ }
77+
78+ }
79+ }
0 commit comments