2013-04-12 3 views
0

Можем ли мы осуществить Paypal с помощью карточного платежа. например У кого-то нет учетной записи PayPal, поэтому он/она может платить с использованием дебетовой или кредитной карты. Есть ли способ реализовать paypal с карточкой. Пожалуйста, помогите.Оплата через Карту с помощью PayPal android

+0

Используя Песочницу, вы можете создать демо-счет. взглянуть на эти ссылки http://www.paypalobjects.com/en_US/ebook/PP_Sandbox_UserGuide/test_user_setup.html http://www.webassist.com/support/documentation/how-tos/paypal_sandbox.php https://www.x.com/developers/paypal/documentation-tools/ug_sandbox#accounts – Lucifer

+0

документация PayPal охватывает всю эту информацию. – minhaz

+0

@minhaz Я использовал этот код, но это дало мне ошибку 503. – URAndroid

ответ

1

Привет, я знаю, что я очень опаздываю, чтобы ответить на этот вопрос, но, несомненно, люди, осуществляющие Paypal в своем приложении, получат от этого выгоду! Android SDK для Paypal не поддерживает оплату карты, но да «Rest API sdk для Paypal» имеет возможность. Включите это в build.gradle: компилировать 'com.paypal.sdk: отдых-апи-SDK: 1.2.5'

А потом попробуйте следующий метод:

public static final String CLIENT_ID = "AQkquBDf1zctJOWGKWUEtKXm6qVhueUEMvXO_-MCI4DQQ4-LWvkDLIN2fGsd"; 
public static final String CLIENT_SECRET = "EL1tVxAjhT7cJimnz5-Nsx9k2reTKSVfErNQF-CmrwJgxRtylkGTKlU4RvrX"; 

/** 
    * @method getAccessToken is used to get AccessToken for performing authorised transcations 
    * @param clientId credential that we get when we register our application on https://developer.paypal.com/ 
    * @param clientSecret credential that we get when we register our application on https://developer.paypal.com/ 
    * @return String accessToken 
    */ 
    public static final String getAccessToken(String clientId, String clientSecret){ 
     Log.i(TAG,"GetAccessToken called"); 
     String accessToken = ""; 
     long expiresIn; 

     try { 
      OAuthTokenCredential oAuthTokenCredential = new OAuthTokenCredential(clientId, clientSecret, getSdKConfig()); 
      expiresIn = oAuthTokenCredential.expiresIn(); 
      accessToken = oAuthTokenCredential.getAccessToken(); 
      Log.i(TAG, "AccessToken: "+accessToken); 
     } catch (PayPalRESTException e) { 
      e.printStackTrace(); 
     } 
     return accessToken; 
    } 

/** 
     * @method makeDirectPayment is used for making direct payment via credit cards. Customers who don't have paypal account can pay via this method. 
     * @return String with Payment Id and Payment status 
     */ 
     public static final String makeDirectPayment(){ 

      String accessToken = getAccessToken(Constants.CLIENT_ID, Constants.CLIENT_SECRET); 
      String message = ""; 
      if (accessToken != null && !accessToken.equals("")){ 
       APIContext apiContext = new APIContext(accessToken); 
       apiContext.setConfigurationMap(getSdKConfig()); 

       CreditCard creditCard = new CreditCard(); 
       creditCard.setType("visa"); 
       creditCard.setNumber("4446283280247004"); 
       creditCard.setExpireMonth(11); 
       creditCard.setExpireYear(2019); 
       creditCard.setFirstName("Test"); 
       creditCard.setLastName("Shopper"); 

       FundingInstrument fundingInstrument = new FundingInstrument(); 
       fundingInstrument.setCreditCard(creditCard); 

       List<FundingInstrument> fundingInstrumentList = new ArrayList<>(); 
       fundingInstrumentList.add(fundingInstrument); 

       Payer payer = new Payer(); 
       payer.setFundingInstruments(fundingInstrumentList); 
       payer.setPaymentMethod("credit_card"); 

       Amount amount = new Amount(); 
       amount.setCurrency("EUR"); 
       amount.setTotal("50"); 

       Transaction transaction = new Transaction(); 
       transaction.setDescription("Creating Direct Payment with Credit Card"); 
       transaction.setAmount(amount); 

       List<Transaction> transactionList = new ArrayList<>(); 
       transactionList.add(transaction); 

       Payment payment = new Payment(); 
       payment.setIntent("sale"); 
       payment.setTransactions(transactionList); 
       payment.setPayer(payer); 

       try { 
        Payment createdPayment = payment.create(apiContext); 

        if (createdPayment != null){ 
         Log.i(TAG,"Payment object: "+createdPayment.toJSON()); 
         message = "Payment Id: " + createdPayment.getId() + " Payment status: "+createdPayment.getState(); 
         Log.i(TAG, message); 
        } 
       } catch (PayPalRESTException e) { 
        e.printStackTrace(); 
       } 

      } 
      return message; 
     } 

Примечание для простоты я использовал все статично, но вы можете поддерживать свой собственный пользовательский интерфейс, чтобы не получать никаких элементов, его цены, данные кредитной карты от пользователя.

Смежные вопросы