unofficial_paypal_sdk 0.0.2+3 icon indicating copy to clipboard operation
unofficial_paypal_sdk: ^0.0.2+3 copied to clipboard

Unofficial pay pal SDK

Pay Pal #

Unofficial pay pal SDK Hecho en 🇵🇷 por Radamés J. Valentín Reyes


Import #

import 'package:unofficial_paypal_sdk/unofficial_paypal_sdk.dart';

Initiate an instance of PayPay #

Uses the client ID and client secret to fetch an access token. init() Must be called before any other function. Tokens expire so this function has to be called again before expirations to avoid errors when performing API calls.

PayPal payPal = PayPal(
  clientID: appKey, 
  clientSecret: appSecret,
  sandboxMode: false,//Sandbox mode false to go live. Perform real transactions
);
PayPalAccessToken payPalAccessToken = await payPal.init();
print(payPalAccessToken.access_token);

Catalog Products API #


List Products #

Gets a list of products saved into your paypal app

PayPalProductsList productsList = await payPal.listProducts();

Create Product #

PayPalProduct createdProduct = await payPal.createProduct(
  prefer: Prefer.representation,
  id: id,
  payPalRequestID: id,
  name: "Pay Pal Logo",
  description: "The logo of Pay Pal",
  category: ProductCatogory.ANIMATION,
);
print("Created " + createdProduct.name);
print("Category " + createdProduct.category!);

Update Product #

await payPal.updateProduct(
  product_id: createdProduct.id, 
  operation: UpdateProductOperation.replace, 
  attributeToModify: UpdateProductAttribute.category,
  newValue: ProductCatogory.ACCOUNTING,
);

Show Product Details #

PayPalProduct updatedProduct = await payPal.showProductDetails(
  product_id: createdProduct.id,
);

Subscriptions API #


List plans #

ListOfPayPalPlans allPlans = await payPal.listPlans();

Create Subscription Plan #

SubscriptionPlan createdSubscription = await payPal.createPlan(
  payPalRequestId: id, 
  product_id: productsList.products.first.id, 
  name: "A test subscription", 
  description: "Just testing the API", 
  billingCycles: [
    BillingCycle(
      frequency: Frequency(
        interval_count: 1,
        interval_unit: "MONTH",
      ), 
      pricing_scheme: PricingScheme(
        value: "5.99",
        currency_code: "USD",
      ), 
      sequence: 1, 
      tenure_type: TenureType.TRIAL, 
      total_cycles: 1,
    ),
    BillingCycle(
      frequency: Frequency(
        interval_count: 1,
        interval_unit: "MONTH",
      ), 
      pricing_scheme: PricingScheme(
        value: "5.99",
        currency_code: "USD",
      ), 
      sequence: 2, 
      tenure_type: TenureType.REGULAR, 
      total_cycles: 1,
    ),
  ], 
  paymentPreferences: PaymentPreferences(
    auto_bill_outstanding: true, 
    setup_fee: SetupFee(
      value: "5",
      currency_code: "USD",
    ), 
    setup_fee_failure_action: SetupFeeFailureAction.CANCEL, 
    payment_failure_threshold: 1,
  ), 
  taxes: Taxes(
    percentage: "11.5", 
    inclusive: false,
  ), 
  quantity_supported: false,
);

Update plan #

ListOfPayPalPlans allPlans = await payPal.listPlans();
await payPal.updatePlan(
  id:allPlans.plans.first.id, 
  operation: UpdateSubscriptionPlanOperation.replace,
  attributeToModify: UpdateSubscriptionPlanAttribute.description,
  newValue: "Mi perrito ladra",
);

Show plan details #

ListOfPayPalPlans allPlans = await payPal.listPlans();
SubscriptionPlan planWithDetails = await payPal.showPlanDetails(id: allPlans.plans.first.id);

Activate plan #

ListOfPayPalPlans allPlans = await payPal.listPlans();
await payPal.activatePlan(id: allPlans.plans.first.id);

Deactivate plan #

ListOfPayPalPlans allPlans = await payPal.listPlans();
await payPal.deactivatePlan(id: allPlans.plans.first.id);

Payouts API #



Contribute/donate by tapping on the Pay Pal logo/image #


Examples #

Example 1 #

String id = uniqueAlphanumeric(tokenLength: 30);
PayPalProduct createdProduct = await payPal.createProduct(
  prefer: Prefer.representation,
  id: id,
  payPalRequestID: id,
  name: "Pay Pal Logo",
  description: "The logo of Pay Pal",
  category: ProductCatogory.ANIMATION,
);
print("Created " + createdProduct.name);
print("Category " + createdProduct.category!);
//Test 
await payPal.updateProduct(
  product_id: createdProduct.id,
  operation: UpdateProductOperation.replace, 
  attributeToModify: UpdateProductAttribute.category,
  newValue: ProductCatogory.ACCOUNTING,
);
PayPalProduct updatedProduct = await payPal.showProductDetails(
  product_id: createdProduct.id,
);
print(updatedProduct.category);

Example 2 #

String id = uniqueAlphanumeric(tokenLength: 30);
await payPal.init();
PayPalProductsList productsList = await payPal.listProducts();
SubscriptionPlan createdSubscription = await payPal.createPlan(
  payPalRequestId: id, 
  product_id: productsList.products.first.id, 
  name: "A test subscription", 
  description: "Just testing the API", 
  billingCycles: [
    BillingCycle(
      frequency: Frequency(
        interval_count: 1,
        interval_unit: "MONTH",
      ), 
      pricing_scheme: PricingScheme(
        value: "5.99",
        currency_code: "USD",
      ), 
      sequence: 1, 
      tenure_type: TenureType.TRIAL, 
      total_cycles: 1,
    ),
    BillingCycle(
      frequency: Frequency(
        interval_count: 1,
        interval_unit: "MONTH",
      ), 
      pricing_scheme: PricingScheme(
        value: "5.99",
        currency_code: "USD",
      ), 
      sequence: 2, 
      tenure_type: TenureType.REGULAR, 
      total_cycles: 1,
    ),
  ], 
  paymentPreferences: PaymentPreferences(
    auto_bill_outstanding: true, 
    setup_fee: SetupFee(
      value: "5",
      currency_code: "USD",
    ), 
    setup_fee_failure_action: SetupFeeFailureAction.CANCEL, 
    payment_failure_threshold: 1,
  ), 
  taxes: Taxes(
    percentage: "11.5", 
    inclusive: false,
  ), 
  quantity_supported: false,
);
print(createdSubscription.name);

References #

0
likes
90
pub points
10%
popularity

Publisher

unverified uploader

Unofficial pay pal SDK

Repository (GitHub)
View/report issues

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

sexy_api_client

More

Packages that depend on unofficial_paypal_sdk