Skip to content

Commit f76e072

Browse files
committed
Fixed type parsing and updated readme
1 parent 3185ab4 commit f76e072

File tree

3 files changed

+64
-56
lines changed

3 files changed

+64
-56
lines changed

README.md

+41-34
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ PayPal = require('paypal-classic-api');
2525
var credentials = { username: 'tok261_biz_api.abc.com',
2626
password: '1244612379',
2727
signature: 'lkfg9groingghb4uw5' };
28-
28+
2929
var paypal = new PayPal(credentials);
3030

3131
paypal.call('TransactionSearch',
32-
{ StartDate: '2012-06-11T10:50:44.681Z' },
32+
{ StartDate: '2012-06-11T10:50:44.681Z' },
3333
function (error, transactions) {
3434
if (error) {
3535
console.error('API call error: ' + error);
@@ -41,36 +41,43 @@ paypal.call('TransactionSearch',
4141

4242
**Example output**
4343
```javascript
44-
[ { TIMESTAMP: Thu Feb 26 2015 20:00:01 GMT-0800 (PST),
45-
TIMEZONE: 'GMT',
46-
TYPE: 'Payment',
47-
48-
NAME: 'Developer',
49-
TRANSACTIONID: '0J1L38973J4267114',
50-
STATUS: 'Completed',
51-
AMT: 100,
52-
CURRENCYCODE: 'JPY',
53-
FEEAMT: -44,
54-
NETAMT: 56 },
55-
{ TIMESTAMP: Thu Feb 26 2015 19:53:21 GMT-0800 (PST),
56-
TIMEZONE: 'GMT',
57-
TYPE: 'Payment',
58-
59-
NAME: 'Developer',
60-
TRANSACTIONID: '07Y30605XS335043T',
61-
STATUS: 'Completed',
62-
AMT: -12,
63-
CURRENCYCODE: 'USD',
64-
FEEAMT: -0.06,
65-
NETAMT: -12.06 },
66-
{ TIMESTAMP: Thu Feb 26 2015 19:41:24 GMT-0800 (PST),
67-
TIMEZONE: 'GMT',
68-
TYPE: 'Transfer',
69-
NAME: 'PayPal',
70-
TRANSACTIONID: '6L2489117V5191606',
71-
STATUS: 'Completed',
72-
AMT: 500,
73-
CURRENCYCODE: 'USD',
74-
FEEAMT: 0,
75-
NETAMT: 500 } ]
44+
{ TIMESTAMP: Mon Mar 09 2015 16:56:22 GMT-0700 (PDT),
45+
CORRELATIONID: '584ced41b8ab3',
46+
ACK: 'Success',
47+
VERSION: 94,
48+
BUILD: 15220584,
49+
objects: [ { TIMESTAMP: Thu Feb 26 2015 20:00:01 GMT-0800 (PST),
50+
TIMEZONE: 'GMT',
51+
TYPE: 'Payment',
52+
53+
NAME: 'Developer',
54+
TRANSACTIONID: '0J1L38973J4267114',
55+
STATUS: 'Completed',
56+
AMT: 100,
57+
CURRENCYCODE: 'JPY',
58+
FEEAMT: -44,
59+
NETAMT: 56 },
60+
{ TIMESTAMP: Thu Feb 26 2015 19:53:21 GMT-0800 (PST),
61+
TIMEZONE: 'GMT',
62+
TYPE: 'Payment',
63+
64+
NAME: 'Developer',
65+
TRANSACTIONID: '07Y30605XS335043T',
66+
STATUS: 'Completed',
67+
AMT: -12,
68+
CURRENCYCODE: 'USD',
69+
FEEAMT: -0.06,
70+
NETAMT: -12.06 },
71+
{ TIMESTAMP: Thu Feb 26 2015 19:41:24 GMT-0800 (PST),
72+
TIMEZONE: 'GMT',
73+
TYPE: 'Transfer',
74+
NAME: 'PayPal',
75+
TRANSACTIONID: '6L2489117V5191606',
76+
STATUS: 'Completed',
77+
AMT: 500,
78+
CURRENCYCODE: 'USD',
79+
FEEAMT: 0,
80+
NETAMT: 500 } ]
81+
}
7682
```
83+

index.coffee

+9-8
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,16 @@ class PayPal
2525

2626
response = {}
2727

28+
extractValue = (key, value) ->
29+
if not isNaN(value)
30+
value = parseFloat(value)
31+
if key == 'TIMESTAMP' or /.+DATE$/.test key
32+
date = new Date(value)
33+
value = date if date and not isNaN date.getYear()
34+
return value
35+
2836
for key in ((k for k of data).filter (k) -> /^[A-Z]+$/.test(k))
29-
response[key] = data[key]
37+
response[key] = extractValue(key, data[key])
3038

3139
rx = /^L_([A-Z]+)(\d+)$/
3240

@@ -39,13 +47,6 @@ class PayPal
3947
ids = (p[1] for p in params)
4048
ids = _.uniq _.flatten ids
4149

42-
extractValue = (key, value) ->
43-
if not isNaN(value)
44-
value = parseFloat(value)
45-
if key == 'TIMESTAMP' or /.+DATE$/.test key
46-
date = new Date(value)
47-
value = date if date and not isNaN date.getYear()
48-
return value
4950

5051
response["objects"] = ids.map (id) ->
5152
obj = {}

index.js

+14-14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)