1
+ 'use strict' ;
2
+
3
+ var ApiContracts = require ( 'authorizenet' ) . APIContracts ;
4
+ var ApiControllers = require ( 'authorizenet' ) . APIControllers ;
5
+ var utils = require ( '../utils.js' ) ;
6
+ var constants = require ( '../constants.js' ) ;
7
+
8
+ function authorizationAndCaptureContinued ( transactionId , callback ) {
9
+ var merchantAuthenticationType = new ApiContracts . MerchantAuthenticationType ( ) ;
10
+ merchantAuthenticationType . setName ( constants . apiLoginKey ) ;
11
+ merchantAuthenticationType . setTransactionKey ( constants . transactionKey ) ;
12
+
13
+ var payPalType = new ApiContracts . PayPalType ( ) ;
14
+ payPalType . setCancelUrl ( 'http://www.merchanteCommerceSite.com/Success/TC25262' ) ;
15
+ payPalType . setSuccessUrl ( 'http://www.merchanteCommerceSite.com/Success/TC25262' ) ;
16
+ payPalType . setPayerID ( 'B2LA5T27DMX7G' ) ;
17
+
18
+ var paymentType = new ApiContracts . PaymentType ( ) ;
19
+ paymentType . setPayPal ( payPalType ) ;
20
+
21
+ var txnRequest = new ApiContracts . TransactionRequestType ( ) ;
22
+ txnRequest . setTransactionType ( ApiContracts . TransactionTypeEnum . AUTHCAPTURECONTINUETRANSACTION ) ;
23
+ txnRequest . setPayment ( paymentType ) ;
24
+ txnRequest . setAmount ( utils . getRandomAmount ( ) ) ;
25
+ txnRequest . setRefTransId ( transactionId ) ;
26
+
27
+ var createRequest = new ApiContracts . CreateTransactionRequest ( ) ;
28
+ createRequest . setMerchantAuthentication ( merchantAuthenticationType ) ;
29
+ createRequest . setTransactionRequest ( txnRequest ) ;
30
+
31
+ console . log ( JSON . stringify ( createRequest . getJSON ( ) , null , 2 ) ) ;
32
+
33
+ var ctrl = new ApiControllers . CreateTransactionController ( createRequest . getJSON ( ) ) ;
34
+
35
+ ctrl . execute ( function ( ) {
36
+
37
+ var apiResponse = ctrl . getResponse ( ) ;
38
+
39
+ var response = new ApiContracts . CreateTransactionResponse ( apiResponse ) ;
40
+
41
+ console . log ( JSON . stringify ( response , null , 2 ) ) ;
42
+
43
+ if ( response !== null ) {
44
+ if ( response . getMessages ( ) . getResultCode ( ) === ApiContracts . MessageTypeEnum . OK ) {
45
+ if ( response . getTransactionResponse ( ) . getMessages ( ) !== null ) {
46
+ console . log ( 'Successfully created transaction with Transaction ID: ' + response . getTransactionResponse ( ) . getTransId ( ) ) ;
47
+ console . log ( 'Payer Id: ' + response . getTransactionResponse ( ) . getSecureAcceptance ( ) . getPayerID ( ) ) ;
48
+ console . log ( 'Response Code: ' + response . getTransactionResponse ( ) . getResponseCode ( ) ) ;
49
+ console . log ( 'Message Code: ' + response . getTransactionResponse ( ) . getMessages ( ) . getMessage ( ) [ 0 ] . getCode ( ) ) ;
50
+ console . log ( 'Description: ' + response . getTransactionResponse ( ) . getMessages ( ) . getMessage ( ) [ 0 ] . getDescription ( ) ) ;
51
+ } else {
52
+ console . log ( 'Failed Transaction.' ) ;
53
+ if ( response . getTransactionResponse ( ) . getErrors ( ) !== null ) {
54
+ console . log ( 'Error Code: ' + response . getTransactionResponse ( ) . getErrors ( ) . getError ( ) [ 0 ] . getErrorCode ( ) ) ;
55
+ console . log ( 'Error message: ' + response . getTransactionResponse ( ) . getErrors ( ) . getError ( ) [ 0 ] . getErrorText ( ) ) ;
56
+ }
57
+ }
58
+ } else {
59
+ console . log ( 'Failed Transaction. ' ) ;
60
+ if ( response . getTransactionResponse ( ) !== null && response . getTransactionResponse ( ) . getErrors ( ) !== null ) {
61
+ console . log ( 'Error Code: ' + response . getTransactionResponse ( ) . getErrors ( ) . getError ( ) [ 0 ] . getErrorCode ( ) ) ;
62
+ console . log ( 'Error message: ' + response . getTransactionResponse ( ) . getErrors ( ) . getError ( ) [ 0 ] . getErrorText ( ) ) ;
63
+ } else {
64
+ console . log ( 'Error Code: ' + response . getMessages ( ) . getMessage ( ) [ 0 ] . getCode ( ) ) ;
65
+ console . log ( 'Error message: ' + response . getMessages ( ) . getMessage ( ) [ 0 ] . getText ( ) ) ;
66
+ }
67
+ }
68
+ } else {
69
+ console . log ( 'Null Response.' ) ;
70
+ }
71
+
72
+ callback ( response ) ;
73
+ } ) ;
74
+ }
75
+
76
+ if ( require . main === module ) {
77
+ authorizationAndCaptureContinued ( '2260016287' , function ( ) {
78
+ console . log ( 'authorizationAndCaptureContinued call complete.' ) ;
79
+ } ) ;
80
+ }
81
+
82
+ module . exports . authorizationAndCaptureContinued = authorizationAndCaptureContinued ;
0 commit comments