nestjs-paypal-payouts
v1.0.3
Published
NestJS injectable https://github.com/paypal/Payouts-NodeJS-SDK module and client.
Downloads
227
Readme
nestjs-paypal-payouts
NestJS injectable https://github.com/paypal/Payouts-NodeJS-SDK module and client.
Installation
yarn add nestjs-paypal-payouts
Configuration
some-paypal.module.ts
@Module({
imports: [
NestjsPaypalPayoutsModule.register({
environment: process.env.PAYPAL_ENVIRONMENT as 'sandbox' | 'live',
clientId: process.env.PAYPAL_CLIENT_ID,
clientSecret: process.env.PAYPAL_CLIENT_SECRET,
}),
],
})
You may also use registerAsync.
Usage
some-paypal.service.ts
constructor(
@InjectPaypalClient()
private readonly paypalClient,
@InjectPaypal()
private readonly paypal,
) {}
async payout() {
const request = this.paypal.payouts.PayoutsPostRequest();
request.requestBody({
sender_batch_header: {
recipient_type: "EMAIL",
email_message: "SDK payouts test txn",
note: "Enjoy your Payout!!",
sender_batch_id: "Test_sdk_1",
email_subject: "This is a test transaction from SDK"
},
items: [{
note: "Your 5$ Payout!",
amount: {
currency: "USD",
value: "1.00"
},
receiver: "[email protected]",
sender_item_id: "Test_txn_1"
}]
});
let response = await this.paypalClient.execute(request);
console.log(`Response: ${JSON.stringify(response)}`);
// If call returns body in response, you can get the deserialized version from the result attribute of the response.
console.log(`Payouts Create Response: ${JSON.stringify(response.result)}`);
}
Inspiration
nestjs-stripe by dhaspden
this post and others by John Biundo
This dynamic module was generated with Nest Dynamic Package Generator Schematics. You can read more about using the generator here.
Installation
To install this generated project:
npm install
(or yarn equivalent)
Running
If you selected yes
for the question Generate a testing client?
, a small testing module was automatically generated
called NestjsPaypalPayoutsClientModule. You can test that the template was properly generated by running
npm run start:dev
Then connect to http://localhost:3000.
Customizing
The files in the project have comments that should help guide you.
You can also refer to this article for details on the concepts behind this module pattern.
You can read more about using the generator here.
About @nestjsplus/dyn-schematics
Nest Dynamic Package Generator Schematics generates a starter template for building NestJS dynamic packages. It uses the @nestjs/cli
core package, and provides customized schematics for generating modular NestJS applications. See here for the full set of available schematics, and documentation.