$oaConn->setPaymentProfileId($paymentProfile->payment_profile_id, OAConnection::IDTYPE_API); print "Updating Payment Schedules ..." . PHP_EOL; // Retrieve all currently active paymentSchedules associated to this external account. // Useful to view / modify / discontinue / disable payments echo "\tGetting Payment Schedules..." . PHP_EOL; #$paymentSchedules = $oaConn->getPaymentSchedulesSummary( $extAcct->external_account_id); $paymentSchedules = $oaConn->getPaymentSchedulesSummary(); foreach ($paymentSchedules as $paySched) { print "\tPayment Schedule: " . $paySched->payment_schedule_id . PHP_EOL; printObj($paySched, 2); // // Modify the Payment Schedule and Save it back print "Modifying Payment Schedule: " . $paySched->payment_schedule_id . PHP_EOL; $paymentSchedule = $oaConn->getPaymentSchedule($paySched->payment_schedule_id); $payment_schedule_amount = $paymentSchedule->payment_schedule_amount; $paymentSchedule->payment_schedule_amount = $payment_schedule_amount + 100.0; $response = $oaConn->savePaymentSchedule($paymentSchedule); if (isset($response->payment_schedule_id)) { print "Updated Payment Schedule: was-'" . $payment_schedule_amount . "' is now-'" . $response->payment_schedule_amount . "'" . PHP_EOL; } } } } catch (Exception $e) { echo $e->getMessage() . PHP_EOL; } if ($connected) { print "Disconnecting "; $res = $oaConn->disconnect(); printObj($res); } function printObj($obj, $depth = 0) {
//payment_schedule_next_date = //payment_schedule_frequency = //payment_schedule_end_date = //payment_schedule_remaining_occurrences = //payment_schedule_status = // First call getPaymentSchedule passing in '' as the schedule id. // That will initialize a payment_schedule web object with frequency "once"; end_date "today"; // It will stub in all the fields with empty values making it very easy to inspect. // (Likely to be replaced with a $oaCon->createNewPaymentSchedule( $ext_acct_id, $pay_type_id, $amt, $frequency, $end_date, $currency ) call.) $paymentSchedule = $oaConn->getPaymentSchedule(''); $paymentSchedule->payment_schedule_external_account_id = $external_account_id; $paymentSchedule->payment_schedule_payment_type_id = $payment_type_id; $paymentSchedule->payment_schedule_amount = rand(10000, 99999) / 100; printObj($paymentSchedule, 1); print "Saving Payment Schedule..." . PHP_EOL; $paymentSchedule = $oaConn->savePaymentSchedule($paymentSchedule); if (isset($paymentSchedule->payment_schedule_id)) { // The reponse from savePaymentSchedule was actually the new Payment Schedule; // we retrieve it here separately just to demonstrate it worked. print "Retrieving payment schedule to confirm save..." . PHP_EOL; $response = $oaConn->getPaymentSchedule($paymentSchedule->payment_schedule_id); printObj($response, 1); print "Succesfully retrieved new Payment Schedule!" . PHP_EOL; } else { printobj($paymentSchedule, 1); } } catch (Exception $e) { //echo $response->error . PHP_EOL; echo $e->getMessage() . PHP_EOL; } function printObj($obj, $depth = 0)