NestJS injectable https://github.com/paypal/Payouts-NodeJS-SDK module and client.
yarn add nestjs-paypal-payouts
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.
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: "payout-sdk-1@paypal.com",
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)}`);
}
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.
To install this generated project:
npm install
(or yarn equivalent)
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.
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.
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.