forked from LiveCarta/PayPal-PHP-SDK
Updated User Agent & More Samples for Billing Plans
- Fixed versioning in User Agent. - Updated Billing Plan sample to update Payment definitions - Docs & Tests
This commit is contained in:
@@ -67,7 +67,7 @@ $agreement->setPlan($plan);
|
||||
// Add Payer
|
||||
$payer = new Payer();
|
||||
$payer->setPaymentMethod('credit_card')
|
||||
->setPayerInfo(new PayerInfo(['email' => 'jaypatel512-facilitator@hotmail.com']));
|
||||
->setPayerInfo(new PayerInfo(array('email' => 'jaypatel512-facilitator@hotmail.com')));
|
||||
|
||||
// Add Credit Card to Funding Instruments
|
||||
$creditCard = new CreditCard();
|
||||
|
||||
@@ -33,12 +33,12 @@ $paymentDefinition->setName('Regular Payments')
|
||||
->setFrequency('Month')
|
||||
->setFrequencyInterval("2")
|
||||
->setCycles("12")
|
||||
->setAmount(new Currency(['value' => 100, 'currency' => 'USD']));
|
||||
->setAmount(new Currency(array('value' => 100, 'currency' => 'USD')));
|
||||
|
||||
// Charge Models
|
||||
$chargeModel = new ChargeModel();
|
||||
$chargeModel->setType('SHIPPING')
|
||||
->setAmount(new Currency(['value' => 10, 'currency' => 'USD']));
|
||||
->setAmount(new Currency(array('value' => 10, 'currency' => 'USD')));
|
||||
|
||||
$paymentDefinition->setChargeModels(array($chargeModel));
|
||||
|
||||
@@ -49,7 +49,7 @@ $merchantPreferences->setReturnUrl("$baseUrl/ExecuteAgreement.php?success=true")
|
||||
->setAutoBillAmount("yes")
|
||||
->setInitialFailAmountAction("CONTINUE")
|
||||
->setMaxFailAttempts("0")
|
||||
->setSetupFee(new Currency(['value' => 1, 'currency' => 'USD']));
|
||||
->setSetupFee(new Currency(array('value' => 1, 'currency' => 'USD')));
|
||||
|
||||
|
||||
$plan->setPaymentDefinitions(array($paymentDefinition));
|
||||
|
||||
51
sample/billing/UpdatePlanPaymentDefinitions.php
Normal file
51
sample/billing/UpdatePlanPaymentDefinitions.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
// # Update a plan
|
||||
//
|
||||
// This sample code demonstrate how you can update a billing plan, as documented here at:
|
||||
// https://developer.paypal.com/webapps/developer/docs/api/#update-a-plan
|
||||
// API used: /v1/payments/billing-plans/<Plan-Id>
|
||||
|
||||
// ### Changing Plan Amount
|
||||
// This example demonstrate how you could change the plan amount
|
||||
|
||||
// Retrieving the Plan object from Create Plan Sample to demonstrate the List
|
||||
/** @var Plan $createdPlan */
|
||||
$createdPlan = require 'CreatePlan.php';
|
||||
|
||||
use PayPal\Api\Plan;
|
||||
use PayPal\Api\PatchRequest;
|
||||
use PayPal\Api\Patch;
|
||||
|
||||
try {
|
||||
$patch = new Patch();
|
||||
|
||||
$paymentDefinitions = $createdPlan->getPaymentDefinitions();
|
||||
$paymentDefinitionId = $paymentDefinitions[0]->getId();
|
||||
$patch->setOp('replace')
|
||||
->setPath('/payment-definitions/' . $paymentDefinitionId)
|
||||
->setValue(json_decode(
|
||||
'{
|
||||
"name": "Updated Payment Definition",
|
||||
"frequency": "Day",
|
||||
"amount": {
|
||||
"currency": "USD",
|
||||
"value": "50"
|
||||
}
|
||||
}'
|
||||
));
|
||||
$patchRequest = new PatchRequest();
|
||||
$patchRequest->addPatch($patch);
|
||||
|
||||
$createdPlan->update($patchRequest, $apiContext);
|
||||
|
||||
$plan = Plan::get($createdPlan->getId(), $apiContext);
|
||||
|
||||
} catch (Exception $ex) {
|
||||
ResultPrinter::printError("Updated the Plan Payment Definition", "Plan", null, $patchRequest, $ex);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ResultPrinter::printResult("Updated the Plan Payment Definition", "Plan", $plan->getId(), $patchRequest, $plan);
|
||||
|
||||
return $plan;
|
||||
Reference in New Issue
Block a user