{"_id":"paypal-adaptive","_rev":"29-a5dc68ae8f266c5cd45ca32191a12317","name":"paypal-adaptive","description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","dist-tags":{"latest":"0.4.2"},"versions":{"0.0.1":{"name":"paypal-adaptive","version":"0.0.1","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive Payments SDK in node.js","main":"./lib/paypal-adaptive-payments.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payment","sdk","node"],"dependencies":{"request":"2.11.4"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.0.1","dist":{"shasum":"459d1ab8baa67514ca123be488d043c67b6f2eb2","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.0.1.tgz","integrity":"sha512-ZaKPZuaAvhPfsYzDOkIR0/kd1jNkvuFeUYdmLy34i4SWR1GRPNMBLWLzWBCEu544+FFniEEf8Zxs37i9xeSgtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxR/cjkJVoZrA718LhSWBaPOCQ1K5akfHuTCr5ZZcCHgIhAKZqdONuMLAKoQGTJpqucw7KjKI/15Reum+wwVdh6jpk"}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.0.2":{"name":"paypal-adaptive","version":"0.0.2","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.0.2","dist":{"shasum":"cba1126e16f280a30f525aa40c9d062216406fb5","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.0.2.tgz","integrity":"sha512-VQBMSamisTnCAZxwnnccJzMtRSSiYlheeH7/WMujUW4bAnz5cv9gVagyjxlA9f5mWtpbfmcwoKNbxtOCydu6Ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGecb7VpEeigy2UIRWgta5NTcIMmefBRO0IvOfsmxurAiEAy20YgM8oetuEe6LCoc7kJS+4TAE1QfwfTu87SqL3nBk="}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.0.3":{"name":"paypal-adaptive","version":"0.0.3","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.0.3","dist":{"shasum":"26d7f261933bc2299b324be0508e7bd9b41ef94b","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.0.3.tgz","integrity":"sha512-rUvYvlbDvrcqFfCC2OqYOxOdiMzExgdaqejSZxzm89m77wc8olP0XEB1EU8feWoYUW4FghQbspVwWUa+PJelow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKeUdHRLuYZIs2NXtPmT3JKeY0XlmA+ckSfxCkNjAeiwIhANvbsBBUZO7/F3GbWX29CCg1V+/Zt8zQMtOhCGPDq811"}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.1.0":{"name":"paypal-adaptive","version":"0.1.0","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.1.0","dist":{"shasum":"8cab7c33680e5dd491014dd022b02ca16abc50d8","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.1.0.tgz","integrity":"sha512-4EQjc/PVs1gxKXAesC65j24dPMAM2i/s+MVO49Udfs7Me8/qVdJJi9iYuE7+9yR8ay0q6yfZK34H08EMOE7lCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAnLFSzG5t8CUodAdmfuOI6k78QH7P1R0L8X0bt582vCAiAaQNgOYUR5or3bzbrdRy+GphXQMAVulmwitUfTQy1M1Q=="}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.1.1":{"name":"paypal-adaptive","version":"0.1.1","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.1.1","dist":{"shasum":"402809a2d0b6d8d66cab9805f2ff65257feaad6a","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.1.1.tgz","integrity":"sha512-eja0s2LsYbZOP+QOsvEzWbY0nq/wXTgZuHdFHFRXjPfMdL7vRFsN5M9YrVHN3v52oj4fM611fLyjFdw9qkCxQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuKlt226LerCfk6XwXUjgtnC0dlVWz8Qd50pd/wnLZzgIhAMHqGy0TbKrp2T+PH4B+vDXb0YjDviVtTdbD4OvvwMtP"}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.1.2":{"name":"paypal-adaptive","version":"0.1.2","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.1.2","dist":{"shasum":"654c564f1b018e1fd3e594a09f869c60654c28a3","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.1.2.tgz","integrity":"sha512-v9ANWwVQlYu7JrNmBbRCX92ZkZ+apuCVfW6dgJkvapOukHd+eaExr+Koq67Uf4xvuzuAlT+hoHJailmi7VXoBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFC5RZLBQNaIHAJEr9vlCsci2sIfcwylff2XHDJlzJACAiEAh133X/ykJ7rZBu2NDfpJnR+/8mQ9ytvJFvKionLgPh0="}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.2.0":{"name":"paypal-adaptive","version":"0.2.0","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.2.0","dist":{"shasum":"a8770555dcb7ae30e861f6f28cf000cf2c6759ef","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.2.0.tgz","integrity":"sha512-GzCpRGmk9QrvM1R6d2gmDZQ+RsTru/C0gLo+B1uC+P8I2BPmidHbRCz3MEIgLyyVX+dMk1sf6VqRQI/jCh1JXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRTRcajsgc2RimEMRFgdBac0+f+1qGp2fj+5K0He5uMAIhAI8UJvDqfnGUknqSdoak4Sh7KoJAPXuYQmpl2LMtNf14"}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.3.0":{"name":"paypal-adaptive","version":"0.3.0","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.3.0","dist":{"shasum":"1c24ef0f773bc69b5ca592dae03fa4fec2743514","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.3.0.tgz","integrity":"sha512-DNtBlJuVjf231q9uhooMKtuLk7twrSngsxnCK1vIgUjn1CLfbGHwBsSVEagooy6K356t8A7Rxso19uW/caSI9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHWTka5iMHofpxf/sKTR2UR/kqlWuR/LY5plsCSm37BIAiEA9vL97lzobTmBN8U/AvQJhcVnp3c4vuFOGKCHTZpNFS8="}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.4.0":{"name":"paypal-adaptive","version":"0.4.0","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.4.0","dist":{"shasum":"fc4a2eefec12d751bdddc665ba1686f45869b454","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.4.0.tgz","integrity":"sha512-JtMGLYGkq4T1jgofZ0RPUXvK5taOfvmO4VyJblcStcV0FB93Hhfty3h+f/6W3Rj03EYWI6s2DvDOAwYcTwcjJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHn/sLTm/cGla2GEPdqmoSh9L/a1F73hhv119ySHu5ywIgeeXybOvjHFs2Ys6RbbleUx9cWFVosAzdW+VRzDTYRJY="}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.4.1":{"name":"paypal-adaptive","version":"0.4.1","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"_id":"paypal-adaptive@0.4.1","dist":{"shasum":"4d878d60c9c882eb541487226e3592bb335e4609","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.4.1.tgz","integrity":"sha512-Eea+f2QbcmE37Ky3Esv+d6mtsHj6kK+NXQdHd9Lvfm2t0uMMgUcG2mzZ6gi4uNeWVaS/IypdhLyFueN2Ygapbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuH45A6nxHfh7COTUT/XMhc0z082i370ix3ak1L0+uWwIgcXAGPdPXwat+higKgxDxRagSSFeYi4En6LUPIWODjyY="}]},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}]},"0.4.2":{"name":"paypal-adaptive","version":"0.4.2","author":{"name":"Gonzalo Aguirre"},"description":"Paypal Adaptive (Payments & Accounts) SDK in node.js","main":"./lib/paypal-adaptive.js","repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"devDependencies":{"mocha":"1.10.0","nock":"0.18.2"},"engine":{"node":">=0.6"},"bugs":{"url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs/issues"},"homepage":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs","_id":"paypal-adaptive@0.4.2","_shasum":"9d6c9da51742cfab952d6cc308d57882c99fb826","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"ideame","email":"webaccounts@idea.me"},"maintainers":[{"name":"ideame","email":"webaccounts@idea.me"}],"dist":{"shasum":"9d6c9da51742cfab952d6cc308d57882c99fb826","tarball":"https://registry.npmjs.org/paypal-adaptive/-/paypal-adaptive-0.4.2.tgz","integrity":"sha512-ItvK5+hWU9xDL40+SLuy0czT517bSG7nWFB9zCVRXx9Tf3XRvmp/FL6rdtE5AfvAukhMXtukHTH6EMF5pdOQ4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAp6jCcyQtC9fJqzU1Yd27RmnVF/q5sfEjydSDUlPB5EAiEArjj9I3YlXF5nrskdigyfi37STnqJnGjpltv3NqoT3n8="}]}}},"readme":"## Adaptive Payments and Adaptive Accounts SDK\n\nNode.js sdk for Paypal Adaptive Payments and Paypal Adaptive Accounts APIs, without dependencies\n\n### Usage\n  * Add dependency 'paypal-adaptive' in your package.json file.\n  * Require 'paypal-adaptive' in your file.\n    ```js\n    var Paypal = require('paypal-adaptive');\n\n    var paypalSdk = new Paypal({\n\t    userId:    'userId',\n\t    password:  'password',\n\t    signature: 'signature',\n\t    sandbox:   true //defaults to false\n\t});\n    ```\n  * Call to sdk methods or to the generic method callApi. If you get an error, you can check the response too for better error handling.\n    ```js\n    var requestData = {\n        requestEnvelope: {\n            errorLanguage:  'en_US',\n            detailLevel:    'ReturnAll'\n        },\n        payKey: 'AP-1234567890'\n    };\n\n    paypalSdk.callApi('AdaptivePayments/PaymentDetails', requestData, function (err, response) {\n        if (err) {\n            // You can see the error\n            console.log(err);\n            //And the original Paypal API response too\n            console.log(response);\n        } else {\n            // Successful response\n            console.log(response);\n        }\n    });\n    ```\n\n### API\n#### GetPaymentOptions\n\n```js\nvar payKey = 'AP-1234567890';\n\npaypalSdk.getPaymentOptions(payKey, function (err, response) {\n    if (err) {\n        console.log(err);\n    } else {\n        // payments options for this payKey\n        console.log(response);\n    }\n});\n```\n\n#### PaymentDetails\n```js\n// One of this params is required\n// The payKey\nvar params = {\n    payKey: 'AP-1234567890'\n};\n// Or the transactionId\nvar params = {\n    transactionId: 'AP-1234567890'\n};\n// Or the trackingId\nvar params = {\n    trackingId: 'AP-1234567890'\n};\n\npaypalSdk.paymentDetails(params, function (err, response) {\n    if (err) {\n        console.log(err);\n    } else {\n        // payments details for this payKey, transactionId or trackingId\n        console.log(response);\n    }\n});\n```\n\n#### Pay\n```js\nvar payload = {\n    requestEnvelope: {\n        errorLanguage:  'en_US'\n    },\n    actionType:     'PAY',\n    currencyCode:   'USD',\n    feesPayer:      'EACHRECEIVER',\n    memo:           'Chained payment example',\n    cancelUrl:      'http://test.com/cancel',\n    returnUrl:      'http://test.com/success',\n    receiverList: {\n        receiver: [\n            {\n                email:  'primary@test.com',\n                amount: '100.00',\n                primary:'true'\n            },\n            {\n                email:  'secondary@test.com',\n                amount: '10.00',\n                primary:'false'\n            }\n        ]\n    }\n};\n\npaypalSdk.pay(payload, function (err, response) {\n    if (err) {\n        console.log(err);\n    } else {\n        // Response will have the original Paypal API response\n        console.log(response);\n        // But also a paymentApprovalUrl, so you can redirect the sender to checkout easily\n        console.log('Redirect to %s', response.paymentApprovalUrl);\n    }\n});\n```\n\n#### Preapproval\n```js\nvar payload = {\n    currencyCode:                   'USD',\n    startingDate:                   new Date().toISOString(),\n    endingDate:                     new Date('2020-01-01').toISOString(),\n    returnUrl:                      'http://your-website.com',\n    cancelUrl:                      'http://your-website.com',\n    ipnNotificationUrl:             'http://your-ipn-listener.com',\n    maxNumberOfPayments:            1,\n    displayMaxTotalAmount:          true,\n    maxTotalAmountOfAllPayments:    '100.00',\n    requestEnvelope: {\n        errorLanguage:  'en_US'\n    }\n}\n\npaypalSdk.preapproval(payload, function (err, response) {\n    if (err) {\n        console.log(err);\n    } else {\n        // Response will have the original Paypal API response\n        console.log(response);\n        // But also a preapprovalUrl, so you can redirect the sender to approve the payment easily\n        console.log('Redirect to %s', response.preapprovalUrl);\n    }\n});\n```\n\n**Note:**\nThe other API methods has default behavior by now: you send a payload and obtains the Paypal original response.\n\n```js\nvar payload = {\n    requestEnvelope: {\n        errorLanguage:  'en_US'\n    },\n    // another data required by API method\n};\n\nvar callback = function (err, response) {\n    if (err) {\n        // Handle error\n        console.log(err);\n    } else {\n        // Paypal response\n        console.log(response)\n    }\n};\n\n// For Adaptive Payments\npaypalSdk.cancelPreapproval(payload, callback);\n\npaypalSdk.convertCurrency(payload, callback);\n\npaypalSdk.executePayment(payload, callback);\n\npaypalSdk.getFundingPlans(payload, callback);\n\npaypalSdk.getShippingAddresses(payload, callback);\n\npaypalSdk.preapprovalDetails(payload, callback);\n\npaypalSdk.setPaymentOptions(payload, callback);\n\n// For Adaptive Accounts\npaypalSdk.addBankAccount(payload, callback);\n\npaypalSdk.addPaymentCard(payload, callback);\n\npaypalSdk.checkComplianceStatus(payload, callback);\n\npaypalSdk.createAccount(payload, callback);\n// To use this method you can set X-PAYPAL-SANDBOX-EMAIL-ADDRESS and X-PAYPAL-DEVICE-IPADDRESS headers passing 'sandboxEmailAddress' and 'deviceIpAddress' properties on config\n\npaypalSdk.getUserAgreement(payload, callback);\n\npaypalSdk.getVerifiedStatus(payload, callback);\n\npaypalSdk.setFundingSourceConfirmed(payload, callback);\n\npaypalSdk.updateComplianceStatus(payload, callback);\n```\n\n### Tests\n  Tests can be ran with:\n\n  ```sh\n  mocha\n  ```\n\n### Reference\n  <a href=\"https://developer.paypal.com/webapps/developer/docs/classic/api/#ap\" target=\"_blank\">Paypal Adaptive Payments</a>\n  <a href=\"https://developer.paypal.com/webapps/developer/docs/classic/api/#aa\" target=\"_blank\">Paypal Adaptive Accounts</a>\n\n### License\n  Copyright (c) 2014 Gonzalo Aguirre. See the LICENSE file for license rights and limitations (MIT).","maintainers":[{"name":"gaguirre","email":"aguirre.gonzalo@gmail.com"},{"name":"ideame","email":"webaccounts@idea.me"}],"time":{"modified":"2022-06-23T15:40:44.657Z","created":"2013-06-03T20:48:16.801Z","0.0.1":"2013-06-03T20:48:19.735Z","0.0.2":"2013-06-13T22:27:29.273Z","0.0.3":"2013-06-17T19:36:09.457Z","0.1.0":"2013-07-01T21:57:11.914Z","0.1.1":"2013-07-04T20:54:52.794Z","0.1.2":"2013-08-08T23:13:10.287Z","0.2.0":"2013-08-25T22:51:28.454Z","0.3.0":"2013-08-26T00:35:12.336Z","0.4.0":"2013-12-09T20:20:49.649Z","0.4.1":"2013-12-09T21:11:55.634Z","0.4.2":"2014-09-15T17:58:25.467Z"},"author":{"name":"Gonzalo Aguirre"},"repository":{"type":"git","url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs.git"},"homepage":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs","keywords":["api","paypal","adaptive","payments","accounts","sdk","node"],"bugs":{"url":"https://github.com/gaguirre/paypal-adaptive-sdk-nodejs/issues"},"readmeFilename":"README.md","users":{"colkito":true,"mjmasn":true,"felipemena1":true}}