Тестирование биллинга в приложении Android Market с фиктивными учетными данными кредитной карты

Я настроил приложение Android для использования модуля биллинга внутри приложения, как описано на странице http://developer.android.com/guide/market/billing/index.html

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

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

Я знаю, что это работает в изолированной программной среде продавца (http://code.google.com/apis/checkout/developer/Google_Checkout_Basic_HTML_Sandbox.html), но я не могу найти эквивалент для тестирования биллинга Android.

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

Спасибо!


person Kaiesh    schedule 20.07.2011    source источник
comment
Может быть, положить пару фунтов на подарочную карту Visa (она работает как кредитная карта) и отправить им?   -  person τεκ    schedule 20.07.2011
comment
Мне было бы любопытно, будут ли надлежащие процедуры тестирования работать в Китае. Может, тебе стоит разрешить им VPN или что-то в этом роде.   -  person Thomas Dignan    schedule 21.07.2011
comment
Предполагая, что вы это видели, developer.android.com/guide/market /billing/billing_testing.html   -  person Thomas Dignan    schedule 21.07.2011
comment
Разве 4111-1111-1111-1111 не является универсальным номером фиктивной кредитной карты (Visa)?   -  person citizen conn    schedule 21.07.2011
comment
[TEK] - Идея подарочной карты VISA / Mastercard - хорошая идея! Думаю, я могу попробовать, чтобы посмотреть, сработает ли это. [Том] - Им действительно нужно пройти через VPN для тестирования, но все их личные кредитные карты находятся в Китае, и Google Billing использует домашнее местоположение кредитной карты при обработке, и да, я видел руководства для разработчиков, но спасибо за ссылку . [Гражданин] - Я не пробовал, но можете ли вы связать эту фиктивную карту со своей учетной записью Google, попытаться совершить транзакцию и не заблокировать учетную запись?   -  person Kaiesh    schedule 21.07.2011
comment
TEK - Я заказал подарочную карту Mastercard, так как другие решения не помогли. Вы хотите ввести его в качестве ответа ниже? У меня такое ощущение, что этот вариант подойдет!   -  person Kaiesh    schedule 23.07.2011


Ответы (4)



Обновление:
Библиотека Inappbilling 1.0 выпущена только для того, чтобы упростить эту задачу.


Кумар Бибек уже ответил выше: «Тем не менее, я даю пояснение:

Чтобы получить желаемый результат, жестко запрограммируйте следующие параметры отладки в потоке запуска при покупке.

  • android.test.purchased
  • android.test.canceled
  • android.test.refunded
  • android.test.item_unavailable *

    mHelper.launchPurchaseFlow (Activity.this, «android.test.purchased», 1000, mPurchaseFinishedListener, полезная нагрузка);

Вышеуказанное даст эти экраны:

введите описание изображения здесь

При нажатии на "Купить".

введите описание изображения здесь

person amalBit    schedule 15.10.2013
comment
ОПАСНОСТЬ: если вы сделаете это, вы сломаете IAB и в конечном итоге ответите на этот вопрос. НЕ ДЕЛАЙТЕ ЭТОГО. ОНО СЛОМАНО. - person iSWORD; 12.05.2016

  • android.test.purchased
  • android.test.canceled
  • android.test.refunded
  • android.test.item_unavailable

Используйте эти идентификаторы продуктов, и вы должны получить подсказку о поддельной карте на экране покупки.

Ссылка:
https://developer.android.com/google/play/billing/billing_testing.html#billing-testing-static

person Kumar Bibek    schedule 20.07.2011
comment
Хорошо, чтобы правильно понять, руководство, которое вы здесь предоставляете, состоит в том, чтобы на самом деле не пытаться и покупать продукты, созданные как элементы биллинга в приложении, - вместо этого жестко закодируйте идентификатор продукта в качестве тестового сценария. Таким образом, тестирование необходимо разбить на два отдельных этапа: [1] для проверки выбора соответствующего идентификатора в программном обеспечении и всплывающего окна с подсказкой и [2] для проверки действий после покупки. Единственное, что это не позволяет нам проверить, - это фактические задержки авторизации карты в производственной среде. - person Kaiesh; 21.07.2011
comment
Ага. С Google Checkout карты в большинстве случаев будут предварительно обрабатываться для авторизации. В большинстве случаев карты уже авторизованы, но да, могут быть ситуации, когда обработка платежа может занять немного больше времени. - person Kumar Bibek; 21.07.2011

Чтобы закрыть эту тему - решение, которое я в конечном итоге развернул, было предоставлено TEK. Я купил несколько предоплаченных кредитных карт и привязал их к тестовым счетам. Это снизило риск и позволило нашим разработчикам использовать учетные записи.

Я должен отметить, что разработчикам в Китае также пришлось использовать VPN за пределами Китая, чтобы активизировать диалог о выставлении счетов на рынке.

Разработчики / пользователи iPhone вообще не сталкиваются с проблемой VPN.

Спасибо, Кайеш

person Kaiesh    schedule 30.08.2011
comment
Сейчас не используется. - person zszen; 30.05.2017

Как ответили выше другие ребята, я смог провести тестирование приложения, запустив этот кусок кода в своей деятельности.

 public class PurchaseTestingActivity extends AppCompatActivtiy implements BillingProcessor.IBillingHandler {

    ........
  purchaseButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            boolean isAvailable = BillingProcessor.isIabServiceAvailable(PrivateAndPublicCardHoldScreen.this);
            if (isAvailable) {
                       BillingProcessor bp = new BillingProcessor(this, "YOUR LICENSE KEY FOR THIS APPLICATION", this);
             /// this is the actually product 
//                    bp.purchase(PrivateAndPublicCardHoldScreen.this, "upgrade_to_premium");

      //// for testing purposes  
                bp.purchase(PrivateAndPublicCardHoldScreen.this, "android.test.purchased");
            }else{
                Toast.makeText(PrivateAndPublicCardHoldScreen.this, "Your device is not supported, please contact us.", Toast.LENGTH_LONG).show();
            }
        }
    });

  ..........

   @Override
public void onProductPurchased(String productId, TransactionDetails details) {
    /// handle your app after purchases done

}

@Override
public void onPurchaseHistoryRestored() {

}

@Override
public void onBillingError(int errorCode, Throwable error) {

}

@Override
public void onBillingInitialized() {

}


 }

PS: Я использовал эту библиотеку для реализации покупок в приложении Облегченная реализация Android In- приложение Billing Version 3

person Muhammad Adil    schedule 28.12.2016