Android: как передать платежные реквизиты? - PullRequest
3 голосов
/ 29 февраля 2012

Я работаю на Mobile Express Checkout LIbrary .Я просто перенаправил свое приложение на PayPal Но я получил вот так -

Transaction Invalid

Что я могу сделать для этого сейчас?Я не передал детали платежа PayPal. Как передать и как я закончил.Кто-нибудь поможет мне сделать это?

Ответы [ 4 ]

2 голосов
/ 05 марта 2012

Итак, вы получаете токен устройства от PayPal и токен от вашего веб-сервиса?

Какой URL PayPal вы используете для перенаправления на страницу PayPal? Потому что у меня была та же проблема в режиме SANDBOX. Не решил проблему, но живой URL работал для меня:

String url = "https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout-mobile&useraction=commit&token=" + token + "&drt=" + deviceToken

token param = токен транзакции, полученный из веб-сервиса

deviceToken = токен, который вы получаете от PayPal

Все еще не могу понять, почему песочница не работает для меня ..

1 голос
/ 08 марта 2012

Итак, руководство по интеграции является отличным источником информации при реализации этого.По сути, вы передаете ему URL со всеми элементами, которые вы ищете.Страница 16-17 содержит то, что вы хотите.По сути вы хотите передать URL на сервер Paypal, который выглядит примерно так:

1004 * API_SERVER_ADDRESS METHOD = SetExpressCheckout & VERSION = XX.0 & USER = API_username и PWD = API_password & ПОДПИСЬ = API_signature & PAYMENTREQUEST_0_AMT = сумма & PAYMENTREQUEST_0_CURRENCYCODE = currencyID 1006 * Кажется,Скорее всего, АДРЕС СЕРВЕРА API равен

https://www.paypal.com/cgi-bin/webscr

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

0 голосов
/ 12 марта 2012

Я передал платежные реквизиты с помощью этого WebService , который генерируется Sandbox. Теперь у меня новая проблема с процессом оплаты. Проверьте мой обновленный вопрос.

0 голосов
/ 01 марта 2012

Это полный код, который поможет вам выполнить эту функцию PayPal. Оставшаяся задача только для вас - создать аккаунт на https://developer.paypal.com/

{  

      CheckoutButton launchSimplePayment;
      PayPal pp;
      pp = PayPal.getInstance();

    if (pp == null) 
    {
        createPaypalObject();
        //pp = PayPal.initWithAppID(this, "APP-80W284485P519543T",PayPal.ENV_SANDBOX);
    }
    else
    {
        pp.setShippingEnabled(false);
        launchSimplePayment = pp.getCheckoutButton(this,PayPal.BUTTON_118x24, CheckoutButton.TEXT_PAY);
        launchSimplePayment.setOnClickListener( this);
        yourLayout.addView(launchSimplePayment);        

    }

}   

    public void createPaypalObject()
   {
    pp = PayPal.initWithAppID(this, "APP-80W284485P519543T",PayPal.ENV_SANDBOX);
    pp.setShippingEnabled(false);
    launchSimplePayment = pp.getCheckoutButton(this,PayPal.BUTTON_118x24, CheckoutButton.TEXT_PAY);
    launchSimplePayment.setOnClickListener( this);
     handler1.sendEmptyMessage(0);   

   }

   //do this onClick of that payment button
   {
        PayPalPayment payment = new PayPalPayment();
        payment.setSubtotal(new BigDecimal(price_of_song));
        payment.setCurrencyType("USD");
        payment.setRecipient("abc@gmail.com");  //this id must be created by you on payment.paypal.com, this is trial id.
        payment.setPaymentType(PayPal.PAYMENT_TYPE_GOODS);
        Intent checkoutIntent = PayPal.getInstance().checkout(payment, this);
        startActivityForResult(checkoutIntent, 1);
   }



/**This function shows the action by payment paypal*/
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(resultCode) {
case Activity.RESULT_OK:
//The payment succeeded

        Toast.makeText(this,"Payment has done successfully",Toast.LENGTH_SHORT).show();

break;
case Activity.RESULT_CANCELED:

    Toast.makeText(this,"Payment has cancled",Toast.LENGTH_SHORT).show();
   //The payment was canceled

break;
case PayPalActivity.RESULT_FAILURE:

    Toast.makeText(this,"Sorry Payment failed",Toast.LENGTH_SHORT).show();
   //The payment failed -- we get the error from the EXTRA_ERROR_ID and EXTRA_ERROR_MESSAGE

}
super.onActivityResult(requestCode, resultCode, data);
}

Если какой-либо запрос, не стесняйтесь спрашивать меня в любое время.

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