Ошибка интеграции Paypal Braintree в Ioni c Cordova: цепочка ненадежных сертификатов SSL - PullRequest
0 голосов
/ 06 августа 2020

Я столкнулся с проблемой интеграции оплаты Paypal через Braintree SDK (песочница) в iOS с использованием Ioni c Cordova. В настоящее время я использую cordova-plugin-braintree": "^0.5.0" для интеграции. При сборке ошибок не было, но при запуске приложения в симуляторе xcode возникает ошибка.

Вот возвращенная ошибка:

2020-08-06 11:13:43.519 TestApp[14370:510078] Untrusted SSL certificate chain. Refusing to communicate with PayPal servers.
2020-08-06 11:14:42.581040+0800 TestApp[14370:512020] Connection 9: received failure notification
2020-08-06 11:14:40.372864+0800 TestApp[14370:512187] Connection 2: strict TLS Trust evaluation failed(-9802)
2020-08-06 11:14:40.373839+0800 TestApp[14370:512187] Connection 2: TLS Trust encountered error 3:-9802
2020-08-06 11:14:42.582533+0800 TestApp[14370:512020] Connection 9: failed to connect 3:-9858, reason -1
2020-08-06 11:14:42.582903+0800 TestApp[14370:512020] Connection 9: encountered error(3:-9858)
2020-08-06 11:14:42.093680+0800 TestApp[14370:512020] [BoringSSL] boringssl_session_handshake_error_print(111) [C8.1:2][0x7fe27ff09ac0] 140610784112104:error:1000042e:SSL
2020-08-06 11:14:42.590881+0800 TestApp[14370:512020] Task <EB8A44D8-C0BA-4A3B-8C9B-7F524D38799A>.<3> HTTP load failed, 0/0 bytes (error code: -1200 [3:-9858])
2020-08-06 11:14:42.592 TestApp[14370:510078] [BraintreeSDK] WARNING Failed to send analytics event. Remote configuration fetch failed. An SSL error has occurred and a secure connection to the server cannot be made

Хотя он возвращает эту ошибку приложение:

enter image description here

I already tried whitelisting domains and embedding the required frameworks in xcode.

enter image description here

I also already edited the info.plist in xcode like this one.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  CFBundleDevelopmentRegion  en_US  CFBundleDisplayName  TestApp  CFBundleExecutable  $ (EXECUTABLE_NAME)  CFBundleIdentifier  $ (PRODUCT_BUNDLE_IDENTIFIER)  CFBundleInfoDictionaryVersion  6.0  CFBundleName  $ (PRODUCT_NAME)  1036 * *1037*  APPL  CFBundleShortVersionString  1.2.3  CFBundleSignature  ????  CFBundleVersion  1.2.3  ЛСР Требуется IPhoneOS  NSAppTransportSecurity   NSAllowsArbitraryLoads   NSCameraUsageDescription  Вы можете делать фотографии  NSMainNibFile  NSMainNibFile ~ ipad  UILaunchStoryboardName  CDVLaunchScreen  UIRequiresFullScreen  UISupportedInterfaceOrientations   UIInterfaceOrientationPortrait   UISupportedInterfaceOrientations ~ ipad   UIInterfaceOrientationOrientation  1087  1089 * UIInterfaceOrientationLandscapeRight     

Вот моя реализация с использованием angular, но я думаю, что ошибка не отсюда:

import { Braintree, PaymentUIOptions, PaymentUIResult } from '@ionic-native/braintree/ngx';
...
paynow() {
    this.braintree.initialize(this.BRAINTREE_TOKEN)
        .then(() => this.braintree.presentDropInPaymentUI(this.paymentOptions))
        .then((result: PaymentUIResult) => {
            if (result.userCancelled) {
                console.log('User cancelled payment dialog.');
            } else {
                console.log('User successfully completed payment!');
                console.log('Payment Nonce: ' + result.nonce);
                console.log('Payment Result.', result);
            }
        })
        .catch((error: string) => console.error(error));
}

Я тестирую это приложение в этой среде:

  • Xcode v11
  • iPhone x (iOS 13)
  • Ioni c v6.10.1
  • Cordova v9.0.0
  • Cordova- ios v5.1.1

Давно застрял на этой проблеме. Надеюсь, ты поможешь мне с этим. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...