// helper method for all update + change state recurring methods private CreditCardReceipt updateRecurringPurchaseHelper(PeriodicPurchaseInfo periodicPurchaseInfo, Object creditCardSpecifier, VerificationRequest verificationRequest, bool isActualCreditCard) { if (periodicPurchaseInfo.getPeriodicTransactionId() < 0) { return new CreditCardReceipt(REQ_INVALID_REQUEST, "recurringPurchaseId is required", null); } // create the request string StringBuilder req = new StringBuilder(); try { this.appendHeader(req, "recurringPurchase"); this.appendOperationType(req, "update"); this.appendTransactionId(req, periodicPurchaseInfo.getPeriodicTransactionId()); if (creditCardSpecifier != null) { if (isActualCreditCard) { this.appendCreditCard(req, (CreditCard) creditCardSpecifier); } else { this.appendStorageTokenId(req, creditCardSpecifier.ToString()); } } if (periodicPurchaseInfo.getPerPaymentAmount() > 0) { this.appendAmount(req, periodicPurchaseInfo.getPerPaymentAmount()); } if (verificationRequest != null) { this.appendVerificationRequest(req, verificationRequest); } if (periodicPurchaseInfo.getState() != PeriodicPurchaseInfo.State.NULL) { this.appendPeriodicPurchaseState(req, periodicPurchaseInfo.getState()); } } catch (Exception e) { return new CreditCardReceipt(REQ_INVALID_REQUEST, e.ToString(), null); } return this.send(req); }
private void appendPeriodicPurchaseInfo(StringBuilder req, PeriodicPurchaseInfo periodicPurchaseInfo) { if (periodicPurchaseInfo.getPerPaymentAmount() >= 0) { this.appendAmount(req,periodicPurchaseInfo.getPerPaymentAmount()); } if (periodicPurchaseInfo.getState() != null) { this.appendPeriodicPurchaseState(req, periodicPurchaseInfo.getState()); } if (periodicPurchaseInfo.getSchedule() != null) { this.appendPeriodicPurchaseSchedule(req, periodicPurchaseInfo.getSchedule()); } if (periodicPurchaseInfo.getOrderId() != null) { this.appendOrderId(req, periodicPurchaseInfo.getOrderId()); } if (periodicPurchaseInfo.getCustomerId() != null) { this.appendParam(req, "customerId", periodicPurchaseInfo.getCustomerId()); } if (periodicPurchaseInfo.getStartDate() != DateTime.MinValue) { this.appendStartDate(req, periodicPurchaseInfo.getStartDate()); } if (periodicPurchaseInfo.getEndDate() != DateTime.MinValue) { this.appendEndDate(req, periodicPurchaseInfo.getEndDate()); } if (periodicPurchaseInfo.getNextPaymentDate() != DateTime.MinValue) { this.appendNextPaymentDate(req, periodicPurchaseInfo.getNextPaymentDate()); } if (periodicPurchaseInfo.getExecutionType() != null) { this.appendParam(req, "periodicPurchaseExecutionType", periodicPurchaseInfo.getExecutionType()); } }