/** * * Countries Supported: * AU - Australia * CA - Canada * FR - France * DE - Germany * IL - Israel * IT - Italy * NL - Netherlands * UK - United Kingdom * US - United States */ public AddBankAccountResponse AddBankAccount(AddBankAccountRequest AddBankAccountRequest, string apiUsername) { string resp = call("AddBankAccount", AddBankAccountRequest.toNVPString(""), apiUsername); NVPUtil util = new NVPUtil(); return new AddBankAccountResponse(util.parseNVPString(resp), ""); }
/// <summary> /// Countries Supported: /// AU - Australia /// CA - Canada /// FR - /// France /// DE - Germany /// IL - Israel /// IT - Italy /// NL - Netherlands /// UK - United /// Kingdom /// US - United States /// /// /// /// /// /// </summary> ///<param name="addBankAccountRequest"></param> ///<param name="apiUserName">API Username that you want to authenticate this call against. This username and the corresponding 3-token/certificate credentials must be available in Web.Config/App.Config</param> public AddBankAccountResponse AddBankAccount(AddBankAccountRequest addBankAccountRequest, string apiUserName) { IAPICallPreHandler apiCallPreHandler = new PlatformAPICallPreHandler(this.config, addBankAccountRequest.ToNVPString(string.Empty), ServiceName, "AddBankAccount", apiUserName, getAccessToken(), getAccessTokenSecret()); ((PlatformAPICallPreHandler) apiCallPreHandler).SDKName = SDKName; ((PlatformAPICallPreHandler) apiCallPreHandler).SDKVersion = SDKVersion; ((PlatformAPICallPreHandler) apiCallPreHandler).PortName = "AdaptiveAccounts"; NVPUtil util = new NVPUtil(); return AddBankAccountResponse.CreateInstance(util.ParseNVPString(Call(apiCallPreHandler)), string.Empty, -1); }
public AddBankAccountResponse AddBankAccount(AddBankAccountRequest AddBankAccountRequest) { return AddBankAccount(AddBankAccountRequest, null); }
/// <summary> /// Handle AddBankAccount API call /// </summary> /// <param name="context"></param> private void AddBankAccount(HttpContext context) { // # AddBankAccount API // The AddBankAccount API operation lets your application set up bank accounts as funding sources for PayPal accounts. NameValueCollection parameters = context.Request.Params; ConfirmationType confirmationType = (ConfirmationType) Enum.Parse(typeof(ConfirmationType), parameters["confirmationType"]); AddBankAccountRequest req = new AddBankAccountRequest( new RequestEnvelope(), parameters["bankCountryCode"], confirmationType); // set optional parameters // (Optional) The identification number of the PayPal account // for which a bank account is added. You must specify either // the accountId or emailAddress for this request. if (parameters["accountId"] != string.Empty) req.accountId = parameters["accountId"]; // (Optional) The identification number of the PayPal account // for which a bank account is added. You must specify either // the accountId or emailAddress for this request. if (parameters["emailAddress"] != string.Empty) req.emailAddress = parameters["emailAddress"]; if (parameters["createAccountKey"] != string.Empty) req.createAccountKey = parameters["createAccountKey"]; // (Optional) The default value is UNKNOWN. if (parameters["bankName"] != string.Empty) req.bankName = parameters["bankName"]; // (Optional) The bank's routing number. if (parameters["routingNumber"] != string.Empty) req.routingNumber = parameters["routingNumber"]; // (Optional) The type of bank account to be added. Allowable // values are: CHECKING SAVINGS BUSINESS_SAVINGS // BUSINESS_CHECKINGS NORMAL UNKNOWN if (parameters["bankAccountType"] != string.Empty) req.bankAccountType = (BankAccountType) Enum.Parse( typeof(BankAccountType), parameters["bankAccountType"]); // (Optional) The account number (BBAN) of the bank account to // be added. if (parameters["bankAccountNumber"] != string.Empty) req.bankAccountNumber = parameters["bankAccountNumber"]; // (Optional) The IBAN for the bank. if (parameters["iban"] != string.Empty) req.iban = parameters["iban"]; // CLABE represents the bank information for countries like // Mexico. if (parameters["clabe"] != string.Empty) req.clabe = parameters["clabe"]; // (Optional) The Bank/State/Branch number for the bank. if (parameters["bsbNumber"] != string.Empty) req.bsbNumber = parameters["bsbNumber"]; // (Optional) The branch location. if (parameters["branchLocation"] != string.Empty) req.branchLocation = parameters["branchLocation"]; // (Optional) The branch sort code. if (parameters["sortCode"] != string.Empty) req.sortCode = parameters["sortCode"]; // (Optional) The transit number of the bank. if (parameters["bankTransitNumber"] != string.Empty) req.bankTransitNumber = parameters["bankTransitNumber"]; // (Optional) The institution number for the bank. if (parameters["institutionNumber"] != string.Empty) req.institutionNumber = parameters["institutionNumber"]; // (Optional) The branch code for the bank. if (parameters["branchCode"] != string.Empty) req.branchCode = parameters["branchCode"]; if (parameters["agencyNumber"] != string.Empty) req.agencyNumber = parameters["agencyNumber"]; // (Optional) The code that identifies the bank where the // account is held. if (parameters["bankCode"] != string.Empty) req.bankCode = parameters["bankCode"]; // (Optional) The RIB key for the bank. if (parameters["ribKey"] != string.Empty) req.ribKey = parameters["ribKey"]; // (Optional) The control digits for the bank. if (parameters["controlDigit"] != string.Empty) req.controlDigit = parameters["controlDigit"]; if (parameters["taxIdType"] != string.Empty) req.taxIdType = parameters["taxIdType"]; if (parameters["taxIdNumber"] != string.Empty) req.taxIdNumber = parameters["taxIdNumber"]; // (Optional) The date of birth of the account holder in // YYYY-MM-DDZ format, for example 1970-01-01Z. if (parameters["accountHolderDateOfBirth"] != string.Empty) req.accountHolderDateOfBirth = parameters["accountHolderDateOfBirth"]; // (Optional) Additional structure to define the URLs for the // cancellation and return web flows. if ( confirmationType == ConfirmationType.WEB && (parameters["returnURL"] != string.Empty || parameters["returnURLDescription"] != string.Empty || parameters["cancelURL"] != string.Empty || parameters["cancelURLDescription"] != string.Empty)) { req.webOptions = new WebOptionsType(); // (Optional) The URL to which bank account/payment card holders // return after they add the account or payment card. if (parameters["returnURL"] != string.Empty) req.webOptions.returnUrl = parameters["returnURL"]; if (parameters["returnURLDescription"] != string.Empty) req.webOptions.returnUrlDescription = parameters["returnURLDescription"]; // (Optional) The URL to which bank account/payment card holders // return when they cancel the bank account addition flow. if (parameters["cancelURL"] != string.Empty) req.webOptions.cancelUrl = parameters["cancelURL"]; if (parameters["cancelURLDescription"] != string.Empty) req.webOptions.cancelUrlDescription = parameters["cancelURLDescription"]; } // Create the AdaptiveAccounts service object to make the API call AdaptiveAccountsService service = null; AddBankAccountResponse resp = null; try { // Configuration map containing signature credentials and other required configuration. // For a full list of configuration parameters refer in wiki page // (https://github.com/paypal/sdk-core-dotnet/wiki/SDK-Configuration-Parameters) Dictionary<string, string> configurationMap = Configuration.GetAcctAndConfig(); // Creating service wrapper object to make an API call and loading // configuration map for your credentials and endpoint service = new AdaptiveAccountsService(configurationMap); // # API call // Invoke the CreateAccount method in service wrapper object resp = service.AddBankAccount(req); } catch (System.Exception e) { context.Response.Write(e.Message); return; } // Display response values. Dictionary<string, string> keyResponseParams = new Dictionary<string, string>(); string redirectUrl = null; if (!(resp.responseEnvelope.ack == AckCode.FAILURE) && !(resp.responseEnvelope.ack == AckCode.FAILUREWITHWARNING)) { redirectUrl = resp.redirectURL; keyResponseParams.Add("Execution status", resp.execStatus.ToString()); keyResponseParams.Add("Funding source key", resp.fundingSourceKey); //Selenium Test Case keyResponseParams.Add("Acknowledgement", resp.responseEnvelope.ack.ToString()); keyResponseParams.Add("Redirect To PayPal", resp.redirectURL); } displayResponse(context, "AddBankAccount", keyResponseParams, service.getLastRequest(), service.getLastResponse(), resp.error, redirectUrl); }
/// <summary> /// Handle AddBankAccount API call /// </summary> /// <param name="context"></param> private void AddBankAccount(HttpContext context) { NameValueCollection parameters = context.Request.Params; ConfirmationType confirmationType = (ConfirmationType) Enum.Parse(typeof(ConfirmationType), parameters["confirmationType"]); AddBankAccountRequest req = new AddBankAccountRequest( new RequestEnvelope(), parameters["bankCountryCode"], confirmationType); // set optional parameters if (parameters["accountId"] != "") req.accountId = parameters["accountId"]; if (parameters["emailAddress"] != "") req.emailAddress = parameters["emailAddress"]; if (parameters["createAccountKey"] != "") req.createAccountKey = parameters["createAccountKey"]; if (parameters["bankName"] != "") req.bankName = parameters["bankName"]; if (parameters["routingNumber"] != "") req.routingNumber = parameters["routingNumber"]; if (parameters["bankAccountType"] != "") req.bankAccountType = (BankAccountType) Enum.Parse( typeof(BankAccountType), parameters["bankAccountType"]); if (parameters["bankAccountNumber"] != "") req.bankAccountNumber = parameters["bankAccountNumber"]; if (parameters["iban"] != "") req.iban = parameters["iban"]; if (parameters["clabe"] != "") req.clabe = parameters["clabe"]; if (parameters["bsbNumber"] != "") req.bsbNumber = parameters["bsbNumber"]; if (parameters["branchLocation"] != "") req.branchLocation = parameters["branchLocation"]; if (parameters["sortCode"] != "") req.sortCode = parameters["sortCode"]; if (parameters["bankTransitNumber"] != "") req.bankTransitNumber = parameters["bankTransitNumber"]; if (parameters["institutionNumber"] != "") req.institutionNumber = parameters["institutionNumber"]; if (parameters["branchCode"] != "") req.branchCode = parameters["branchCode"]; if (parameters["agencyNumber"] != "") req.agencyNumber = parameters["agencyNumber"]; if (parameters["bankCode"] != "") req.bankCode = parameters["bankCode"]; if (parameters["ribKey"] != "") req.ribKey = parameters["ribKey"]; if (parameters["controlDigit"] != "") req.controlDigit = parameters["controlDigit"]; if (parameters["taxIdType"] != "") req.taxIdType = parameters["taxIdType"]; if (parameters["taxIdNumber"] != "") req.taxIdNumber = parameters["taxIdNumber"]; if (parameters["accountHolderDateOfBirth"] != "") req.accountHolderDateOfBirth = parameters["accountHolderDateOfBirth"]; if ( confirmationType == ConfirmationType.WEB && (parameters["returnURL"] != "" || parameters["returnURLDescription"] != "" || parameters["cancelURL"] != "" || parameters["cancelURLDescription"] != "")) { req.webOptions = new WebOptionsType(); if (parameters["returnURL"] != "") req.webOptions.returnUrl = parameters["returnURL"]; if (parameters["returnURLDescription"] != "") req.webOptions.returnUrlDescription = parameters["returnURLDescription"]; if (parameters["cancelURL"] != "") req.webOptions.cancelUrl = parameters["cancelURL"]; if (parameters["cancelURLDescription"] != "") req.webOptions.cancelUrlDescription = parameters["cancelURLDescription"]; } // All set. Fire the request AdaptiveAccountsService service = new AdaptiveAccountsService(); AddBankAccountResponse resp = null; try { resp = service.AddBankAccount(req); } catch (System.Exception e) { context.Response.Write(e.Message); return; } // Display response values. Dictionary<string, string> keyResponseParams = new Dictionary<string, string>(); string redirectUrl = null; if (!(resp.responseEnvelope.ack == AckCode.FAILURE) && !(resp.responseEnvelope.ack == AckCode.FAILUREWITHWARNING)) { redirectUrl = ConfigurationManager.AppSettings["PAYPAL_REDIRECT_URL"] + resp.redirectURL; keyResponseParams.Add("Execution status", resp.execStatus.ToString()); keyResponseParams.Add("Funding source key", resp.fundingSourceKey); } displayResponse(context, "AddBankAccount", keyResponseParams, service.getLastRequest(), service.getLastResponse(), resp.error, redirectUrl); }
/// <summary> /// Countries Supported: /// AU - Australia /// CA - Canada /// FR - /// France /// DE - Germany /// IL - Israel /// IT - Italy /// NL - Netherlands /// UK - United /// Kingdom /// US - United States /// /// /// /// /// /// </summary> ///<param name="addBankAccountRequest"></param> public AddBankAccountResponse AddBankAccount(AddBankAccountRequest addBankAccountRequest) { return AddBankAccount(addBankAccountRequest,(string) null); }
/** * Countries Supported: * AU - Australia * CA - Canada * FR - France * DE - Germany * IL - Israel * IT - Italy * NL - Netherlands * UK - United Kingdom * US - United States * * * * * */ public AddBankAccountResponse AddBankAccount(AddBankAccountRequest addBankAccountRequest, string apiUserName) { string response = Call("AddBankAccount", addBankAccountRequest.ToNVPString(""), apiUserName); NVPUtil util = new NVPUtil(); return AddBankAccountResponse.CreateInstance(util.ParseNVPString(response), "", -1); }