Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Array
- (
- [max_number_of_payments] => 100
- [starting_date] => 2015-03-01T00:00:21.000-08:00
- [pin_type] => NOT_REQUIRED
- [max_amount_per_payment] => 20.00
- [currency_code] => USD
- [sender_email] => guy.louzon-buyer@gmail.com
- [verify_sign] => AFcWxV21C7fd0v3bYYYRCpSSRl31AiHQSQchSGUInXdtl6zomfkZ7H4C
- [test_ipn] => 1
- [date_of_month] => 0
- [current_number_of_payments] => 0
- [preapproval_key] => PA-2M0807730Y425554F
- [ending_date] => 2015-12-31T23:59:21.000-08:00
- [approved] => true
- [transaction_type] => Adaptive Payment PREAPPROVAL
- [day_of_week] => NO_DAY_SPECIFIED
- [status] => ACTIVE
- [current_total_amount_of_all_payments] => 0.00
- [current_period_attempts] => 0
- [charset] => windows-1252
- [payment_period] => 0
- [notify_version] => UNVERSIONED
- [max_total_amount_of_all_payments] => 2000.00
- )
- func profileController() -> PayPalProfileSharingViewController {
- PayPalMobile.preconnectWithEnvironment(PayPalEnvironmentSandbox)//PayPalEnvironmentNoNetwork)
- let scope: Set<String> = Set([kPayPalOAuth2ScopeEmail, kPayPalOAuth2ScopeFuturePayments])
- let controller = PayPalProfileSharingViewController(scopeValues: scope, configuration: self.paypalConfiguration!, delegate: self)
- return controller!
- }
- func payPalProfileSharingViewController(profileSharingViewController: PayPalProfileSharingViewController, userDidLogInWithAuthorization profileSharingAuthorization: [NSObject : AnyObject]) {
- self.processAuthorization(profileSharingAuthorization)
- }
- func userDidCancelPayPalProfileSharingViewController(profileSharingViewController: PayPalProfileSharingViewController) {
- self.delegate?.didFailPayPalConsent()
- }
- func processAuthorization(authorization: [NSObject: AnyObject]) {
- if let authCode = authorization["response"]?["code"] as? String {
- self.delegate?.didSucceedPayPalConsent(authCode)
- }
- else {
- self.delegate?.didFailPayPalConsent()
- }
- }
- func payPalProfileSharingViewController(profileSharingViewController: PayPalProfileSharingViewController, userDidLogInWithAuthorization profileSharingAuthorization: [NSObject : AnyObject]) {
- self.processAuthorization(profileSharingAuthorization)
- func generateAccessToken(authCode : String ,block : completionHandler){
- let parameters = ["grant_type" : "authorization_code", "response_type" :"token","redirect_uri" : "urn:ietf:wg:oauth:2.0:oob","code":authCode]
- let username = AppConstants().kPayPalUserName //APP_ID
- let password = AppConstants().kPayPalSecret
- let credentialData = "(username):(password)".data(using: String.Encoding.utf8)!
- let base64Credentials = credentialData.base64EncodedString(options: [])
- let headers = ["Authorization": "Basic (base64Credentials)"]
- let customerURL = AppConstants().kPayPalUrl
- Alamofire.request(customerURL,
- method: .post,
- parameters: parameters,
- encoding: URLEncoding.default,
- headers:headers)
- .validate()
- .responseJSON { response in
- switch response.result {
- case .success(let value):
- KVNProgress.dismiss(completion: {
- block?(true, value as! Dictionary<String, Any>) // get the accessToken
- })
- // BasicFunctions.displayAlert("Success", needDismiss: false, title: "Task Created Successfully")
- case .failure(let responseError):
- KVNProgress.dismiss(completion: {
- if (responseError != nil) {
- BasicFunctions.displayAlert(SERVER_ERROR)
- // let json = JSONSerialization
- // block!(false,responseError as! Dictionary<String, Any>)
- }else{
- BasicFunctions.displayAlert(SERVER_ERROR)
- }
- })
- }
- }
- }
- func getUserProfileInfo(accessToken : String,block : completionHandler){
- KVNProgress.show()
- let parameters = ["":""]
- let headers = ["Authorization": "Bearer " + accessToken]
- let customerURL = "https://api.sandbox.paypal.com/v1/identity/openidconnect/userinfo/?schema=openid"
- Alamofire.request(customerURL, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON { (response) in
- switch response.result {
- case .success(let value):
- KVNProgress.dismiss(completion: {
- block?(true, value as! Dictionary<String, Any>)
- })
- // BasicFunctions.displayAlert("Success", needDismiss: false, title: "Task Created Successfully")
- case .failure(let responseError):
- KVNProgress.dismiss(completion: {
- if (responseError != nil) {
- BasicFunctions.displayAlert(SERVER_ERROR)
- // let json = JSONSerialization
- // block!(false,responseError as! Dictionary<String, Any>)
- }else{
- BasicFunctions.displayAlert(SERVER_ERROR)
- }
- })
- }
- }
- }
Add Comment
Please, Sign In to add comment