smarkets / react-native-paypal

React Native library that implements PayPal Checkout flow using purely native code
MIT License
118 stars 54 forks source link

Web View is not open when call "requestOneTimePayment" #91

Open AdnanLatif opened 3 years ago

AdnanLatif commented 3 years ago

Hi,

I am facing a strange issue. In standalone test app Web View is automatically opened even without importing. But in my current app it falls into function but in function it's do nothing.

const paypal = async () => { console.log('here in paypal function------------------------'); // For one time payments const { nonce, payerId, email, firstName, lastName, phone, } = await requestOneTimePayment( 'eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpGVXpJMU5pSXNJbXRwWkNJNklqSXdNVGd3TkRJMk1UWXRjMkZ1WkdKdmVDSXNJbWx6Y3lJNkltaDBkSEJ6T2k4dllYQnBMbk5oYm1SaWIzZ3VZbkpoYVc1MGNtVmxaMkYwWlhkaGVTNWpiMjBpZlEuZXlKbGVIQWlPakUyTVRrMU5EVTRPREVzSW1wMGFTSTZJbU0wWkRFNFltTXdMVEZpTlRJdE5HWTVOaTFpT0dOaUxUZ3pPV00xWXpKak5UazVPU0lzSW5OMVlpSTZJbkE0ZDJkM2JuSjNlbmN5WkhseWNEZ2lMQ0pwYzNNaU9pSm9kSFJ3Y3pvdkwyRndhUzV6WVc1a1ltOTRMbUp5WVdsdWRISmxaV2RoZEdWM1lYa3VZMjl0SWl3aWJXVnlZMmhoYm5RaU9uc2ljSFZpYkdsalgybGtJam9pY0RoM1ozZHVjbmQ2ZHpKa2VYSndPQ0lzSW5abGNtbG1lVjlqWVhKa1gySjVYMlJsWm1GMWJIUWlPbVpoYkhObGZTd2ljbWxuYUhSeklqcGJJbTFoYm1GblpWOTJZWFZzZENKZExDSnpZMjl3WlNJNld5SkNjbUZwYm5SeVpXVTZWbUYxYkhRaVhTd2liM0IwYVc5dWN5STZleUpqZFhOMGIyMWxjbDlwWkNJNklqRWlmWDAuamhWT0NPOTluREozSjBJcmFydi0zNTFfV3hHZkxPNXhaa0RPZnBzN3F2ejhQX3FVV0xuaWYyZlNtVEk4N3Y1MFdRRGk2b2l4MU12Wkc4WlZ0QzNnb3c/Y3VzdG9tZXJfaWQ9IiwiY29uZmlnVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzL3A4d2d3bnJ3encyZHlycDgvY2xpZW50X2FwaS92MS9jb25maWd1cmF0aW9uIiwiZ3JhcGhRTCI6eyJ1cmwiOiJodHRwczovL3BheW1lbnRzLnNhbmRib3guYnJhaW50cmVlLWFwaS5jb20vZ3JhcGhxbCIsImRhdGUiOiIyMDE4LTA1LTA4IiwiZmVhdHVyZXMiOlsidG9rZW5pemVfY3JlZGl0X2NhcmRzIl19LCJoYXNDdXN0b21lciI6dHJ1ZSwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzL3A4d2d3bnJ3encyZHlycDgvY2xpZW50X2FwaSIsImVudmlyb25tZW50Ijoic2FuZGJveCIsIm1lcmNoYW50SWQiOiJwOHdnd25yd3p3MmR5cnA4IiwiYXNzZXRzVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhdXRoVXJsIjoiaHR0cHM6Ly9hdXRoLnZlbm1vLnNhbmRib3guYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJ2ZW5tbyI6Im9mZiIsImNoYWxsZW5nZXMiOltdLCJ0aHJlZURTZWN1cmVFbmFibGVkIjp0cnVlLCJhbmFseXRpY3MiOnsidXJsIjoiaHR0cHM6Ly9vcmlnaW4tYW5hbHl0aWNzLXNhbmQuc2FuZGJveC5icmFpbnRyZWUtYXBpLmNvbS9wOHdnd25yd3p3MmR5cnA4In0sInBheXBhbEVuYWJsZWQiOnRydWUsInBheXBhbCI6eyJiaWxsaW5nQWdyZWVtZW50c0VuYWJsZWQiOnRydWUsImVudmlyb25tZW50Tm9OZXR3b3JrIjp0cnVlLCJ1bnZldHRlZE1lcmNoYW50IjpmYWxzZSwiYWxsb3dIdHRwIjp0cnVlLCJkaXNwbGF5TmFtZSI6ImVuaWdtYXRpeCIsImNsaWVudElkIjpudWxsLCJwcml2YWN5VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3BwIiwidXNlckFncmVlbWVudFVybCI6Imh0dHA6Ly9leGFtcGxlLmNvbS90b3MiLCJiYXNlVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhc3NldHNVcmwiOiJodHRwczovL2NoZWNrb3V0LnBheXBhbC5jb20iLCJkaXJlY3RCYXNlVXJsIjpudWxsLCJlbnZpcm9ubWVudCI6Im9mZmxpbmUiLCJicmFpbnRyZWVDbGllbnRJZCI6Im1hc3RlcmNsaWVudDMiLCJtZXJjaGFudEFjY291bnRJZCI6ImVuaWdtYXRpeCIsImN1cnJlbmN5SXNvQ29kZSI6IlVTRCJ9fQ==', { amount: '5', // required // any PayPal supported currency (see here: https://developer.paypal.com/docs/integration/direct/rest/currency-codes/#paypal-account-payments) currency: 'USD', // any PayPal supported locale (see here: https://braintree.github.io/braintree_ios/Classes/BTPayPalRequest.html#/c:objc(cs)BTPayPalRequest(py)localeCode) localeCode: 'en_US', shippingAddressRequired: false, userAction: 'commit', // display 'Pay Now' on the PayPal review page // one of 'authorize', 'sale', 'order'. defaults to 'authorize'. see details here: https://developer.paypal.com/docs/api/payments/v1/#payment-create-request-body intent: 'authorize', }, ).catch(error => console.log(error)); console.log('nonce:----', nonce); console.log('payerID:-----', payerId); };

nzankich commented 3 years ago

@AdnanLatif sorry for the slow reply. A few things here

  1. your token looks incorrect. I have some instructions in the readme how to find this token
  2. Not sure which key you have here but it looks private. I would edit the issue here not to expose it
  3. do you get any errors back in the catch?
  4. it would also be a good idea to check out the example app and see if that works for you
nzankich commented 3 years ago

my token only has one = at the end btw

AdnanLatif commented 3 years ago

@AdnanLatif sorry for the slow reply. A few things here

  1. your token looks incorrect. I have some instructions in the readme how to find this token
  2. Not sure which key you have here but it looks private. I would edit the issue here not to expose it
  3. do you get any errors back in the catch?
  4. it would also be a good idea to check out the example app and see if that works for you

I got this token from braintree and nothing in catch block. It will work fine in standalone app but integrate with existing app it do nothing.