-
Notifications
You must be signed in to change notification settings - Fork 74
Expand file tree
/
Copy pathvoid.js
More file actions
85 lines (68 loc) · 3.32 KB
/
Copy pathvoid.js
File metadata and controls
85 lines (68 loc) · 3.32 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
'use strict';
var ApiContracts = require('authorizenet').APIContracts;
var ApiControllers = require('authorizenet').APIControllers;
var constants = require('../constants.js');
function paypalVoid(transactionId, callback) {
var merchantAuthenticationType = new ApiContracts.MerchantAuthenticationType();
merchantAuthenticationType.setName(constants.apiLoginKey);
merchantAuthenticationType.setTransactionKey(constants.transactionKey);
var payPalType = new ApiContracts.PayPalType();
payPalType.setCancelUrl('http://www.merchanteCommerceSite.com/Success/TC25262');
payPalType.setSuccessUrl('http://www.merchanteCommerceSite.com/Success/TC25262');
var paymentType = new ApiContracts.PaymentType();
paymentType.setPayPal(payPalType);
var txnRequest = new ApiContracts.TransactionRequestType();
txnRequest.setTransactionType(ApiContracts.TransactionTypeEnum.VOIDTRANSACTION);
txnRequest.setPayment(paymentType);
txnRequest.setRefTransId(transactionId);
var createRequest = new ApiContracts.CreateTransactionRequest();
createRequest.setMerchantAuthentication(merchantAuthenticationType);
createRequest.setTransactionRequest(txnRequest);
console.log(JSON.stringify(createRequest.getJSON(), null, 2));
var ctrl = new ApiControllers.CreateTransactionController(createRequest.getJSON());
ctrl.execute(function(){
var apiResponse = ctrl.getResponse();
if (apiResponse != null) var response = new ApiContracts.CreateTransactionResponse(apiResponse);
console.log(JSON.stringify(response, null, 2));
if(response != null){
if(response.getMessages().getResultCode() == ApiContracts.MessageTypeEnum.OK){
if(response.getTransactionResponse().getMessages() != null){
console.log('Successfully created transaction with Transaction ID: ' + response.getTransactionResponse().getTransId());
console.log('Response Code: ' + response.getTransactionResponse().getResponseCode());
console.log('Message Code: ' + response.getTransactionResponse().getMessages().getMessage()[0].getCode());
console.log('Description: ' + response.getTransactionResponse().getMessages().getMessage()[0].getDescription());
}
else {
console.log('Failed Transaction.');
if(response.getTransactionResponse().getErrors() != null){
console.log('Error Code: ' + response.getTransactionResponse().getErrors().getError()[0].getErrorCode());
console.log('Error message: ' + response.getTransactionResponse().getErrors().getError()[0].getErrorText());
}
}
}
else {
console.log('Failed Transaction. ');
if(response.getTransactionResponse() != null && response.getTransactionResponse().getErrors() != null){
console.log('Error Code: ' + response.getTransactionResponse().getErrors().getError()[0].getErrorCode());
console.log('Error message: ' + response.getTransactionResponse().getErrors().getError()[0].getErrorText());
}
else {
console.log('Error Code: ' + response.getMessages().getMessage()[0].getCode());
console.log('Error message: ' + response.getMessages().getMessage()[0].getText());
}
}
}
else {
var apiError = ctrl.getError();
console.log(apiError);
console.log('Null Response.');
}
callback(response);
});
}
if (require.main === module) {
paypalVoid('2259813941', function(){
console.log('paypalVoid call complete.');
});
}
module.exports.paypalVoid = paypalVoid;