PayPal\Service\PayPalAPIInterfaceServiceService::CreateRecurringPaymentsProfile PHP Method

CreateRecurringPaymentsProfile() public method

Service Call: CreateRecurringPaymentsProfile
public CreateRecurringPaymentsProfile ( CreateRecurringPaymentsProfileReq $createRecurringPaymentsProfileReq, mixed $apiCredential = null ) : CreateRecurringPaymentsProfileResponseType
$createRecurringPaymentsProfileReq PayPal\PayPalAPI\CreateRecurringPaymentsProfileReq
$apiCredential mixed - Optional API credential - can either be a username configured in sdk_config.ini or a ICredential object created dynamically
return PayPal\PayPalAPI\CreateRecurringPaymentsProfileResponseType
    public function CreateRecurringPaymentsProfile($createRecurringPaymentsProfileReq, $apiCredential = null)
    {
        $apiContext = new PPApiContext($this->config);
        $handlers = array(new PPMerchantServiceHandler($apiCredential, self::$SDK_NAME, self::$SDK_VERSION));
        $this->setStandardParams($createRecurringPaymentsProfileReq->CreateRecurringPaymentsProfileRequest);
        $ret = new CreateRecurringPaymentsProfileResponseType();
        $resp = $this->call('PayPalAPIAA', 'CreateRecurringPaymentsProfile', $createRecurringPaymentsProfileReq, $apiContext, $handlers);
        $ret->init(PPUtils::xmlToArray($resp));
        return $ret;
    }

Usage Example

Example #1
0
 /**
  * Create a Paypal recurring payment profile
  *
  * @param array $order          
  * @param string $token         
  * @param array $subscriptionType         
  * @return \PayPalAPI\CreateRecurringPaymentsProfileResponseType
  */
 public function createRecurringPaymentProfile(array $paymentProfile, $token, array $subscriptionType)
 {
     $billingStartDate = Date::getDateTime($paymentProfile['billingStartDate']);
     $RPProfileDetails = new RecurringPaymentsProfileDetailsType();
     $RPProfileDetails->SubscriberName = Session::getCredentials()->getUsername();
     // This should be passed in
     $RPProfileDetails->BillingStartDate = $billingStartDate->format(\DateTime::ATOM);
     $RPProfileDetails->ProfileReference = $paymentProfile['userId'] . '-' . $paymentProfile['orderId'];
     $paymentBillingPeriod = new BillingPeriodDetailsType();
     $paymentBillingPeriod->BillingFrequency = $paymentProfile['billingFrequency'];
     $paymentBillingPeriod->BillingPeriod = $paymentProfile['billingPeriod'];
     $paymentBillingPeriod->Amount = new BasicAmountType($paymentProfile['currency'], $paymentProfile['amount']);
     $scheduleDetails = new ScheduleDetailsType();
     $scheduleDetails->Description = $subscriptionType['agreement'];
     $scheduleDetails->PaymentPeriod = $paymentBillingPeriod;
     $createRPProfileRequestDetail = new CreateRecurringPaymentsProfileRequestDetailsType();
     $createRPProfileRequestDetail->Token = $token;
     $createRPProfileRequestDetail->ScheduleDetails = $scheduleDetails;
     $createRPProfileRequestDetail->RecurringPaymentsProfileDetails = $RPProfileDetails;
     $createRPProfileRequest = new CreateRecurringPaymentsProfileRequestType();
     $createRPProfileRequest->CreateRecurringPaymentsProfileRequestDetails = $createRPProfileRequestDetail;
     $createRPProfileReq = new CreateRecurringPaymentsProfileReq();
     $createRPProfileReq->CreateRecurringPaymentsProfileRequest = $createRPProfileRequest;
     $paypalService = new PayPalAPIInterfaceServiceService();
     return $paypalService->CreateRecurringPaymentsProfile($createRPProfileReq);
 }
All Usage Examples Of PayPal\Service\PayPalAPIInterfaceServiceService::CreateRecurringPaymentsProfile