1<!DOCTYPE html> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87<html> 88<head> 89 90 91<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 92<meta name="viewport" content="width=device-width" /> 93 94<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> 95<title>Payments | Android Developers</title> 96 97<!-- STYLESHEETS --> 98<link rel="stylesheet" 99href="//fonts.googleapis.com/css?family=Roboto+Condensed"> 100<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" 101 title="roboto"> 102<link href="/assets/css/default.css?v=2" rel="stylesheet" type="text/css"> 103 104 105 106<!-- JAVASCRIPT --> 107<script src="//www.google.com/jsapi" type="text/javascript"></script> 108<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script> 109<script type="text/javascript"> 110 var toRoot = "/"; 111 var metaTags = []; 112 var devsite = false; 113</script> 114<script src="/assets/js/docs.js?v=2" type="text/javascript"></script> 115 116<script> 117 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 118 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 119 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 120 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 121 122 ga('create', 'UA-5831155-1', 'android.com'); 123 ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker); 124 ga('send', 'pageview'); 125 ga('universal.send', 'pageview'); // Send page view for new tracker. 126</script> 127 128</head> 129 130<body class="gc-documentation google 131 develop" itemscope itemtype="http://schema.org/Article"> 132 <div id="doc-api-level" class="" style="display:none"></div> 133 <a name="top"></a> 134 135 136<a name="top"></a> 137 138 <!-- Header --> 139 <div id="header-wrapper"> 140 <div id="header"> 141 <div class="wrap" id="header-wrap"> 142 <div class="col-3 logo"> 143 <a href="/index.html"> 144 <img src="/assets/images/dac_logo.png" 145 srcset="/assets/images/dac_logo@2x.png 2x" 146 width="123" height="25" alt="Android Developers" /> 147 </a> 148 <div class="btn-quicknav" id="btn-quicknav"> 149 <a href="#" class="arrow-inactive">Quicknav</a> 150 <a href="#" class="arrow-active">Quicknav</a> 151 </div> 152 </div> 153 <ul class="nav-x col-9"> 154 <li class="design"> 155 <a href="/design/index.html" 156 zh-tw-lang="設計" 157 zh-cn-lang="设计" 158 ru-lang="Проектирование" 159 ko-lang="디자인" 160 ja-lang="設計" 161 es-lang="Diseñar" 162 >Design</a></li> 163 <li class="develop"><a href="/develop/index.html" 164 zh-tw-lang="開發" 165 zh-cn-lang="开发" 166 ru-lang="Разработка" 167 ko-lang="개발" 168 ja-lang="開発" 169 es-lang="Desarrollar" 170 >Develop</a></li> 171 <li class="distribute last"><a href="/distribute/index.html" 172 zh-tw-lang="發佈" 173 zh-cn-lang="分发" 174 ru-lang="Распространение" 175 ko-lang="배포" 176 ja-lang="配布" 177 es-lang="Distribuir" 178 >Distribute</a></li> 179 </ul> 180 181 182 183 184<div class="menu-container"> 185 <div class="moremenu"> 186 <div id="more-btn"></div> 187 </div> 188 <div class="morehover" id="moremenu"> 189 <div class="top"></div> 190 <div class="mid"> 191 <div class="header">Links</div> 192 <ul> 193 <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> 194 <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> 195 <li><a href="/about/index.html">About Android</a></li> 196 </ul> 197 <div class="header">Android Sites</div> 198 <ul> 199 <li><a href="http://www.android.com">Android.com</a></li> 200 <li class="active"><a>Android Developers</a></li> 201 <li><a href="http://source.android.com">Android Open Source Project</a></li> 202 </ul> 203 204 205 206 <div class="header">Language</div> 207 <div id="language" class="locales"> 208 <select name="language" onChange="changeLangPref(this.value, true)"> 209 <option value="en">English</option> 210 <option value="es">Español</option> 211 <option value="ja">日本語</option> 212 <option value="ko">한국어</option> 213 <option value="ru">Русский</option> 214 <option value="zh-cn">中文 (中国)</option> 215 <option value="zh-tw">中文 (台灣)</option> 216 </select> 217 </div> 218 <script type="text/javascript"> 219 <!-- 220 loadLangPref(); 221 //--> 222 </script> 223 224 225 <br class="clearfix" /> 226 </div><!-- end 'mid' --> 227 <div class="bottom"></div> 228 </div><!-- end 'moremenu' --> 229 230 <div class="search" id="search-container"> 231 <div class="search-inner"> 232 <div id="search-btn"></div> 233 <div class="left"></div> 234 <form onsubmit="return submit_search()"> 235 <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" 236 onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" 237 onkeydown="return search_changed(event, true, '/')" 238 onkeyup="return search_changed(event, false, '/')" /> 239 </form> 240 <div class="right"></div> 241 <a class="close hide">close</a> 242 <div class="left"></div> 243 <div class="right"></div> 244 </div><!-- end search-inner --> 245 </div><!-- end search-container --> 246 247 <div class="search_filtered_wrapper reference"> 248 <div class="suggest-card reference no-display"> 249 <ul class="search_filtered"> 250 </ul> 251 </div> 252 </div> 253 254 <div class="search_filtered_wrapper docs"> 255 <div class="suggest-card dummy no-display"> </div> 256 <div class="suggest-card develop no-display"> 257 <ul class="search_filtered"> 258 </ul> 259 <div class="child-card guides no-display"> 260 </div> 261 <div class="child-card training no-display"> 262 </div> 263 <div class="child-card samples no-display"> 264 </div> 265 </div> 266 <div class="suggest-card design no-display"> 267 <ul class="search_filtered"> 268 </ul> 269 </div> 270 <div class="suggest-card distribute no-display"> 271 <ul class="search_filtered"> 272 </ul> 273 </div> 274 </div> 275</div><!-- end menu-container (search and menu widget) --> 276 277 278 279 <!-- Expanded quicknav --> 280 <div id="quicknav" class="col-13"> 281 <ul> 282 <li class="about"> 283 <ul> 284 <li><a href="/about/index.html">About</a></li> 285 <li><a href="/wear/index.html">Wear</a></li> 286 <li><a href="/tv/index.html">TV</a></li> 287 <li><a href="/auto/index.html">Auto</a></li> 288 </ul> 289 </li> 290 <li class="design"> 291 <ul> 292 <li><a href="/design/index.html">Get Started</a></li> 293 <li><a href="/design/devices.html">Devices</a></li> 294 <li><a href="/design/style/index.html">Style</a></li> 295 <li><a href="/design/patterns/index.html">Patterns</a></li> 296 <li><a href="/design/building-blocks/index.html">Building Blocks</a></li> 297 <li><a href="/design/downloads/index.html">Downloads</a></li> 298 <li><a href="/design/videos/index.html">Videos</a></li> 299 </ul> 300 </li> 301 <li class="develop"> 302 <ul> 303 <li><a href="/training/index.html" 304 zh-tw-lang="訓練課程" 305 zh-cn-lang="培训" 306 ru-lang="Курсы" 307 ko-lang="교육" 308 ja-lang="トレーニング" 309 es-lang="Capacitación" 310 >Training</a></li> 311 <li><a href="/guide/index.html" 312 zh-tw-lang="API 指南" 313 zh-cn-lang="API 指南" 314 ru-lang="Руководства по API" 315 ko-lang="API 가이드" 316 ja-lang="API ガイド" 317 es-lang="Guías de la API" 318 >API Guides</a></li> 319 <li><a href="/reference/packages.html" 320 zh-tw-lang="參考資源" 321 zh-cn-lang="参考" 322 ru-lang="Справочник" 323 ko-lang="참조문서" 324 ja-lang="リファレンス" 325 es-lang="Referencia" 326 >Reference</a></li> 327 <li><a href="/sdk/index.html" 328 zh-tw-lang="相關工具" 329 zh-cn-lang="工具" 330 ru-lang="Инструменты" 331 ko-lang="도구" 332 ja-lang="ツール" 333 es-lang="Herramientas" 334 >Tools</a> 335 </li> 336 <li><a href="/google/index.html">Google Services</a> 337 </li> 338 339 <li><a href="/samples/index.html">Samples</a> 340 </li> 341 342 </ul> 343 </li> 344 <li class="distribute last"> 345 <ul> 346 <li><a href="/distribute/googleplay/index.html">Google Play</a></li> 347 <li><a href="/distribute/essentials/index.html">Essentials</a></li> 348 <li><a href="/distribute/users/index.html">Get Users</a></li> 349 <li><a href="/distribute/engage/index.html">Engage & Retain</a></li> 350 <li><a href="/distribute/monetize/index.html">Monetize</a></li> 351 <li><a href="/distribute/tools/index.html">Tools & Reference</a></li> 352 <li><a href="/distribute/stories/index.html">Developer Stories</a></li> 353 </ul> 354 </li> 355 </ul> 356 </div><!-- /Expanded quicknav --> 357 </div><!-- end header-wrap.wrap --> 358 </div><!-- end header --> 359 360 361 <!-- Secondary x-nav --> 362 <div id="nav-x"> 363 <div class="wrap"> 364 <ul class="nav-x col-9 develop" style="width:100%"> 365 <li class="training"><a href="/training/index.html" 366 zh-tw-lang="訓練課程" 367 zh-cn-lang="培训" 368 ru-lang="Курсы" 369 ko-lang="교육" 370 ja-lang="トレーニング" 371 es-lang="Capacitación" 372 >Training</a></li> 373 <li class="guide"><a href="/guide/index.html" 374 zh-tw-lang="API 指南" 375 zh-cn-lang="API 指南" 376 ru-lang="Руководства по API" 377 ko-lang="API 가이드" 378 ja-lang="API ガイド" 379 es-lang="Guías de la API" 380 >API Guides</a></li> 381 <li class="reference"><a href="/reference/packages.html" 382 zh-tw-lang="參考資源" 383 zh-cn-lang="参考" 384 ru-lang="Справочник" 385 ko-lang="참조문서" 386 ja-lang="リファレンス" 387 es-lang="Referencia" 388 >Reference</a></li> 389 <li class="tools"><a href="/sdk/index.html" 390 zh-tw-lang="相關工具" 391 zh-cn-lang="工具" 392 ru-lang="Инструменты" 393 ko-lang="도구" 394 ja-lang="ツール" 395 es-lang="Herramientas" 396 >Tools</a></li> 397 <li class="google"><a href="/google/index.html" 398 >Google Services</a> 399 </li> 400 401 <li class="samples"><a href="/samples/index.html" 402 >Samples</a> 403 </li> 404 405 </ul> 406 </div> 407 </div> 408 <!-- /Sendondary x-nav DEVELOP --> 409 410 411 412 <div id="searchResults" class="wrap" style="display:none;"> 413 <h2 id="searchTitle">Results</h2> 414 <div id="leftSearchControl" class="search-control">Loading...</div> 415 </div> 416 </div> <!--end header-wrapper --> 417 418 <div id="sticky-header"> 419 <div> 420 <a class="logo" href="#top"></a> 421 <a class="top" href="#top"></a> 422 <ul class="breadcrumb"> 423 424 <li class="current">Payments</li> 425 </ul> 426 </div> 427 </div> 428 429 430 431 432 433 434 <div class="wrap clearfix" id="body-content"> 435 <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> 436 <div id="devdoc-nav" class="scroll-pane"> 437 438 439 440<ul id="nav"> 441 442 <li class="nav-section"> 443 <div class="nav-section-header empty"><a href="/google/index.html"> 444 <span class="en">Overview</span> 445 </a></div> 446 </li> 447 448 <li class="nav-section"> 449 <div class="nav-section-header empty"><a href="/google/play-services/games.html"> 450 <span class="en">Games</span> 451 </a></div> 452 </li> 453 <li class="nav-section"> 454 <div class="nav-section-header empty"><a href="/google/play-services/location.html"> 455 <span class="en">Location</span> 456 </a></div> 457 </li> 458 <li class="nav-section"> 459 <div class="nav-section-header empty"><a href="/google/play-services/plus.html"> 460 <span class="en">Google+</span> 461 </a></div> 462 </li> 463 <li class="nav-section"> 464 <div class="nav-section-header empty"><a href="/google/play-services/maps.html"> 465 <span class="en">Maps</span> 466 </a></div> 467 </li> 468 <li class="nav-section"> 469 <div class="nav-section-header empty"><a href="/google/play-services/drive.html"> 470 <span class="en">Drive</span> 471 </a></div> 472 </li> 473 <li class="nav-section"> 474 <div class="nav-section-header empty"><a href="/google/play-services/cast.html"> 475 <span class="en">Cast</span> 476 </a></div> 477 </li> 478 <li class="nav-section"> 479 <div class="nav-section-header"><a href="/google/play-services/ads.html"> 480 <span class="en">Ads</span></a> 481 </div> 482 <ul> 483 <li><a href="/google/play-services/id.html"> 484 <span class="en">Advertising ID</span></a> 485 </li> 486 </ul> 487 </li> 488 <li class="nav-section"> 489 <div class="nav-section-header empty"><a href="/google/play-services/wallet.html"> 490 <span class="en">Wallet</span> 491 </a></div> 492 </li> 493 494 495 <li class="nav-section"> 496 <div class="nav-section-header"><a href="/google/play-services/index.html"> 497 <span class="en">Google Play Services</span></a> 498 </div> 499 <ul> 500 <li><a href="/google/play-services/setup.html"> 501 <span class="en">Setting Up Google Play Services</span></a> 502 </li> 503 <li class="nav-section"> 504 <div class="nav-section-header"><a href="/google/auth/api-client.html"> 505 <span class="en">Accessing Google APIs</span></a> 506 </div> 507 <ul> 508 <li> 509 <a href="/google/auth/http-auth.html"> 510 <span class="en">Authorizing with Google for REST APIs</span> 511 </a> 512 </li> 513 </ul> 514 </li> 515 <li id="gms-tree-list" class="nav-section"> 516 <div class="nav-section-header"> 517 <a href="/reference/gms-packages.html"> 518 <span class="en">Reference</span> 519 </a> 520 <div> 521 </li> 522 </ul> 523 </li> 524 525 526 <li class="nav-section"> 527 <div class="nav-section-header"><a href="/google/play/billing/index.html"> 528 <span class="en">Google Play In-app Billing</span></a> 529 </div> 530 <ul> 531 <li><a href="/google/play/billing/billing_overview.html"> 532 <span class="en">Overview</span></a> 533 </li> 534 <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html"> 535 <span class="en">Version 3 API</span></a></div> 536 <ul> 537 <li><a href="/google/play/billing/billing_integrate.html"> 538 <span class="en">Implementing the API</span></a></li> 539 <li><a href="/google/play/billing/billing_reference.html"> 540 <span class="en">Reference</span></a></li> 541 </ul> 542 </li> 543 <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html"> 544 <span class="en">Version 2 API</span></a></div> 545 <ul> 546 <li><a href="/google/play/billing/v2/billing_integrate.html"> 547 <span class="en">Implementing the API</span></a></li> 548 <li><a href="/google/play/billing/v2/billing_subscriptions.html"> 549 <span class="en">Subscriptions</span></a></li> 550 <li><a href="/google/play/billing/v2/billing_reference.html"> 551 <span class="en">Reference</span></a></li> 552 </ul> 553 </li> 554 <li><a href="/google/play/billing/billing_subscriptions.html"> 555 <span class="en">Subscriptions</span></a> 556 </li> 557 <li><a href="/google/play/billing/billing_best_practices.html"> 558 <span class="en">Security and Design</span></a> 559 </li> 560 <li><a href="/google/play/billing/billing_testing.html"> 561 <span class="en">Testing In-app Billing</span></a> 562 </li> 563 <li><a href="/google/play/billing/billing_admin.html"> 564 <span class="en">Administering In-app Billing</span></a> 565 </li> 566 <li><a href="/google/play/billing/versions.html"> 567 <span class="en">Version Notes</span></a> 568 </li> 569 </ul> 570 </li> 571 572 573 574 <li class="nav-section"> 575 <div class="nav-section-header"><a href="/google/gcm/index.html"> 576 <span class="en">Google Cloud Messaging</span></a> 577 </div> 578 <ul> 579 <li><a href="/google/gcm/gcm.html"> 580 <span class="en">Overview</span></a> 581 </li> 582 <li><a href="/google/gcm/gs.html"> 583 <span class="en">Getting Started</span></a> 584 </li> 585 <li><a href="/google/gcm/client.html"> 586 <span class="en">Implementing GCM Client</span></a> 587 </li> 588 <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html"> 589 <span class="en">Implementing GCM Server</span></a></div> 590 <ul> 591 <li><a href="/google/gcm/ccs.html"> 592 <span class="en">CCS (XMPP)</span></a></li> 593 <li><a href="/google/gcm/http.html"> 594 <span class="en">HTTP</span></a></li> 595 </ul> 596 </li> 597 <li><a href="/google/gcm/notifications.html"> 598 <span class="en">User Notifications</span></a> 599 </li> 600 <li><a href="/google/gcm/adv.html"> 601 <span class="en">Advanced Topics</span></a> 602 </li> 603 <li><a href="/google/gcm/c2dm.html"> 604 <span class="en">Migration</span></a> 605 </li> 606 <li id="gcm-tree-list" class="nav-section"> 607 <div class="nav-section-header"> 608 <a href="/reference/gcm-packages.html"> 609 <span class="en">Reference</span> 610 </a> 611 <div> 612 </li> 613 </ul> 614 </li> 615 616 <li class="nav-section"> 617 <div class="nav-section-header empty"><a href="/google/gcs/index.html"> 618 <span class="en">Google Cloud Save</span></a> 619 </div> 620 </li> 621 622 <li class="nav-section"> 623 <div class="nav-section-header"><a href="/google/play/dist.html"> 624 <span class="en">Google Play Distribution</span></a> 625 </div> 626 <ul> 627 <li><a href="/google/play/filters.html"> 628 <span class="en">Filters on Google Play</span></a> 629 </li> 630 <li><a href="/google/play/billing/gp-purchase-status-api.html"> 631 <span class="en">Google Play Developer API</span></a> 632 </li> 633 <li><a href="/google/play/publishing/multiple-apks.html"> 634 <span class="en">Multiple APK Support</span></a> 635 </li> 636 <li><a href="/google/play/expansion-files.html"> 637 <span class="en">APK Expansion Files</span></a> 638 </li> 639 <li class="nav-section"> 640 <div class="nav-section-header"><a href="/google/play/licensing/index.html"> 641 <span class="en">Application Licensing</span></a> 642 </div> 643 <ul> 644 <li><a href="/google/play/licensing/overview.html"> 645 <span class="en">Licensing Overview</span></a> 646 </li> 647 <li><a href="/google/play/licensing/setting-up.html"> 648 <span class="en">Setting Up for Licensing</span></a> 649 </li> 650 <li><a href="/google/play/licensing/adding-licensing.html"> 651 <span class="en">Adding Licensing to Your App</span></a> 652 </li> 653 <li><a href="/google/play/licensing/licensing-reference.html"> 654 <span class="en">Licensing Reference</span></a> 655 </li> 656 </ul> 657 </li> 658 659 <li class="nav-section"> 660 <div class="nav-section-header"><a href="/google/backup/index.html"> 661 Android Backup Service</a> 662 </div> 663 <ul> 664 <li><a href="/google/backup/signup.html"> 665 Register</a> 666 </li> 667 </ul> 668 </li> 669 670 </ul> 671 672</li> 673 674 675 676</ul> 677 678<script type="text/javascript"> 679<!-- 680 buildToggleLists(); 681 changeNavLang(getLangPref()); 682//--> 683</script> 684 685 686 687 688 </div> 689 <script type="text/javascript"> 690 showGoogleRefTree(); 691 692 </script> 693 </div> <!-- end side-nav --> 694 <script> 695 $(document).ready(function() { 696 scrollIntoView("devdoc-nav"); 697 }); 698 </script> 699 700 701 702 703 704 705<div class="col-12" id="doc-col"> 706 707<div id="api-info-block"> 708 709 710 711 712<div class="sum-details-links"> 713 714</div><!-- end sum-details-links --> 715<div class="api-level"> 716 717 718 719 720</div> 721</div><!-- end api-info-block --> 722 723 724<!-- ======== START OF CLASS DATA ======== --> 725 726<div id="jd-header"> 727 public 728 729 730 731 interface 732<h1 itemprop="name">Payments</h1> 733 734 735 736 737 738 739 740 741</div><!-- end header --> 742 743<div id="naMessage"></div> 744 745<div id="jd-content" class="api apilevel-"> 746<table class="jd-inheritance-table"> 747 748 749 <tr> 750 751 <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wallet.Payments</td> 752 </tr> 753 754 755</table> 756 757 758 759 760 761 762 763<div class="jd-descr"> 764 765 766<h2>Class Overview</h2> 767<p itemprop="articleBody">Entry point for interacting with Wallet buyflow APIs. 768 769 <p> 770 To allow the user to select and change the account associated with the transaction and Google 771 transaction ID, use <code>null</code> or simply do not set it using 772 <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#setAccountName(java.lang.String)">setAccountName(String)</a></code>. No special action is required when a user 773 changes the selected account through the UI in this case, and the Google transaction ID 774 associated with the transaction can continue to be used. 775 <p> 776 To specify the account and prevent the user from selecting another account, set the account 777 using <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#setAccountName(java.lang.String)">setAccountName(String)</a></code>. To change the account, construct a 778 new GoogleApiClient with the new account and do not reuse the Google transaction ID associated 779 with the old account - this is a new transaction. 780 <p> 781 We recommend that you apply for API access at 782 <a href="http://getinstantbuy.withgoogle.com/">http://getinstantbuy.withgoogle.com/</a> 783 before starting development. During development, use the sandbox environment by specifying 784 <code><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#ENVIRONMENT_SANDBOX">ENVIRONMENT_SANDBOX</a></code> using 785 <code><a href="/reference/com/google/android/gms/wallet/Wallet.WalletOptions.Builder.html#setEnvironment(int)">setEnvironment(int)</a></code>. For production access, you must specify 786 <code><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#ENVIRONMENT_PRODUCTION">ENVIRONMENT_PRODUCTION</a></code>. 787</p> 788 789 790 791 792 793</div><!-- jd-descr --> 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810<div class="jd-descr"> 811 812 813<h2>Summary</h2> 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841<!-- ========== METHOD SUMMARY =========== --> 842<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr> 843 844 845 846 847 <tr class="alt-color api apilevel-" > 848 <td class="jd-typecol"><nobr> 849 abstract 850 851 852 853 854 void</nobr> 855 </td> 856 <td class="jd-linkcol" width="100%"><nobr> 857 <span class="sympad"><a href="/reference/com/google/android/gms/wallet/Payments.html#changeMaskedWallet(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String, int)">changeMaskedWallet</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, String googleTransactionId, String merchantTransactionId, int requestCode)</nobr> 858 859 <div class="jd-descrdiv">This method brings up a Google Wallet selector screen to allow your customer to select a new 860 payment instrument or shipping address from their Google Wallet.</div> 861 862 </td></tr> 863 864 865 866 <tr class=" api apilevel-" > 867 <td class="jd-typecol"><nobr> 868 abstract 869 870 871 872 873 void</nobr> 874 </td> 875 <td class="jd-linkcol" width="100%"><nobr> 876 <span class="sympad"><a href="/reference/com/google/android/gms/wallet/Payments.html#checkForPreAuthorization(com.google.android.gms.common.api.GoogleApiClient, int)">checkForPreAuthorization</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, int requestCode)</nobr> 877 878 <div class="jd-descrdiv">This API checks to see if a user has previously authorized the application to access their 879 Wallet account.</div> 880 881 </td></tr> 882 883 884 885 <tr class="alt-color api apilevel-" > 886 <td class="jd-typecol"><nobr> 887 abstract 888 889 890 891 892 void</nobr> 893 </td> 894 <td class="jd-linkcol" width="100%"><nobr> 895 <span class="sympad"><a href="/reference/com/google/android/gms/wallet/Payments.html#loadFullWallet(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wallet.FullWalletRequest, int)">loadFullWallet</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, <a href="/reference/com/google/android/gms/wallet/FullWalletRequest.html">FullWalletRequest</a> request, int requestCode)</nobr> 896 897 <div class="jd-descrdiv">Requests a <code><a href="/reference/com/google/android/gms/wallet/FullWallet.html">FullWallet</a></code>, which contains the payment credentials.</div> 898 899 </td></tr> 900 901 902 903 <tr class=" api apilevel-" > 904 <td class="jd-typecol"><nobr> 905 abstract 906 907 908 909 910 void</nobr> 911 </td> 912 <td class="jd-linkcol" width="100%"><nobr> 913 <span class="sympad"><a href="/reference/com/google/android/gms/wallet/Payments.html#loadMaskedWallet(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wallet.MaskedWalletRequest, int)">loadMaskedWallet</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, <a href="/reference/com/google/android/gms/wallet/MaskedWalletRequest.html">MaskedWalletRequest</a> request, int requestCode)</nobr> 914 915 <div class="jd-descrdiv">If an application has authorization, loadMaskedWallet() allows you to skip the Google Wallet 916 selector and directly request the masked payment credentials.</div> 917 918 </td></tr> 919 920 921 922 <tr class="alt-color api apilevel-" > 923 <td class="jd-typecol"><nobr> 924 abstract 925 926 927 928 929 void</nobr> 930 </td> 931 <td class="jd-linkcol" width="100%"><nobr> 932 <span class="sympad"><a href="/reference/com/google/android/gms/wallet/Payments.html#notifyTransactionStatus(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wallet.NotifyTransactionStatusRequest)">notifyTransactionStatus</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, <a href="/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.html">NotifyTransactionStatusRequest</a> request)</nobr> 933 934 <div class="jd-descrdiv">Sends a notification to Google on whether the transaction succeeded or failed.</div> 935 936 </td></tr> 937 938 939 940</table> 941 942 943 944 945 946 947 948</div><!-- jd-descr (summary) --> 949 950<!-- Details --> 951 952 953 954 955 956 957 958 959<!-- XML Attributes --> 960 961 962<!-- Enum Values --> 963 964 965<!-- Constants --> 966 967 968<!-- Fields --> 969 970 971<!-- Public ctors --> 972 973 974 975<!-- ========= CONSTRUCTOR DETAIL ======== --> 976<!-- Protected ctors --> 977 978 979 980<!-- ========= METHOD DETAIL ======== --> 981<!-- Public methdos --> 982 983<h2>Public Methods</h2> 984 985 986 987<A NAME="changeMaskedWallet(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String, int)"></A> 988 989<div class="jd-details api apilevel-"> 990 <h4 class="jd-details-title"> 991 <span class="normal"> 992 public 993 994 995 abstract 996 997 void 998 </span> 999 <span class="sympad">changeMaskedWallet</span> 1000 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, String googleTransactionId, String merchantTransactionId, int requestCode)</span> 1001 </h4> 1002 <div class="api-level"> 1003 <div></div> 1004 1005 1006 1007 </div> 1008 <div class="jd-details-descr"> 1009 1010 <div class="jd-tagdata jd-tagdescr"><p>This method brings up a Google Wallet selector screen to allow your customer to select a new 1011 payment instrument or shipping address from their Google Wallet.</p></div> 1012 <div class="jd-tagdata"> 1013 <h5 class="jd-tagtitle">Parameters</h5> 1014 <table class="jd-tagtable"> 1015 <tr> 1016 <th>googleApiClient</td> 1017 <td>An instance of <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code> configured to use the Wallet 1018 API</td> 1019 </tr> 1020 <tr> 1021 <th>googleTransactionId</td> 1022 <td>Required field. Must be identical to the value returned in an 1023 earlier <code><a href="/reference/com/google/android/gms/wallet/MaskedWallet.html">MaskedWallet</a></code> in the same transaction.</td> 1024 </tr> 1025 <tr> 1026 <th>merchantTransactionId</td> 1027 <td>Optional merchant identifier for the transaction. The value 1028 will be echoed back in <code><a href="/reference/com/google/android/gms/wallet/MaskedWallet.html">MaskedWallet</a></code>, but is not 1029 otherwise used by the Wallet API. To omit, pass <code>null</code></td> 1030 </tr> 1031 <tr> 1032 <th>requestCode</td> 1033 <td>will be passed back in onActivityResult where you can retrieve the result 1034 via <code><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#EXTRA_MASKED_WALLET">EXTRA_MASKED_WALLET</a></code>. 1035</td> 1036 </tr> 1037 </table> 1038 </div> 1039 1040 </div> 1041</div> 1042 1043 1044<A NAME="checkForPreAuthorization(com.google.android.gms.common.api.GoogleApiClient, int)"></A> 1045 1046<div class="jd-details api apilevel-"> 1047 <h4 class="jd-details-title"> 1048 <span class="normal"> 1049 public 1050 1051 1052 abstract 1053 1054 void 1055 </span> 1056 <span class="sympad">checkForPreAuthorization</span> 1057 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, int requestCode)</span> 1058 </h4> 1059 <div class="api-level"> 1060 <div></div> 1061 1062 1063 1064 </div> 1065 <div class="jd-details-descr"> 1066 1067 <div class="jd-tagdata jd-tagdescr"><p>This API checks to see if a user has previously authorized the application to access their 1068 Wallet account.</p></div> 1069 <div class="jd-tagdata"> 1070 <h5 class="jd-tagtitle">Parameters</h5> 1071 <table class="jd-tagtable"> 1072 <tr> 1073 <th>googleApiClient</td> 1074 <td>An instance of <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code> configured to use the Wallet 1075 API</td> 1076 </tr> 1077 <tr> 1078 <th>requestCode</td> 1079 <td>will be passed back in onActivityResult where you can retrieve the result 1080 via <code><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#EXTRA_IS_USER_PREAUTHORIZED">EXTRA_IS_USER_PREAUTHORIZED</a></code>. 1081</td> 1082 </tr> 1083 </table> 1084 </div> 1085 1086 </div> 1087</div> 1088 1089 1090<A NAME="loadFullWallet(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wallet.FullWalletRequest, int)"></A> 1091 1092<div class="jd-details api apilevel-"> 1093 <h4 class="jd-details-title"> 1094 <span class="normal"> 1095 public 1096 1097 1098 abstract 1099 1100 void 1101 </span> 1102 <span class="sympad">loadFullWallet</span> 1103 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, <a href="/reference/com/google/android/gms/wallet/FullWalletRequest.html">FullWalletRequest</a> request, int requestCode)</span> 1104 </h4> 1105 <div class="api-level"> 1106 <div></div> 1107 1108 1109 1110 </div> 1111 <div class="jd-details-descr"> 1112 1113 <div class="jd-tagdata jd-tagdescr"><p>Requests a <code><a href="/reference/com/google/android/gms/wallet/FullWallet.html">FullWallet</a></code>, which contains the payment credentials. You can retrieve the 1114 <code><a href="/reference/com/google/android/gms/wallet/FullWallet.html">FullWallet</a></code> in <code>onActivityResult</code> using the <code>requestCode</code> that 1115 you provide to this method. If there is a problem with the transaction then the Google Wallet 1116 selector will be shown and a <code><a href="/reference/com/google/android/gms/wallet/MaskedWallet.html">MaskedWallet</a></code> will be returned to reflect new selections 1117 by the user. 1118 <p> 1119 This function should only be called when the customer confirms the purchase. 1120 <p> 1121 Important: Because the credentials are in plain text it is important to transfer the payment 1122 credentials following PCI standards.</p></div> 1123 <div class="jd-tagdata"> 1124 <h5 class="jd-tagtitle">Parameters</h5> 1125 <table class="jd-tagtable"> 1126 <tr> 1127 <th>googleApiClient</td> 1128 <td>An instance of <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code> configured to use the Wallet 1129 API</td> 1130 </tr> 1131 <tr> 1132 <th>requestCode</td> 1133 <td>will be passed back in onActivityResult where you can retrieve the result 1134 via <code><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#EXTRA_FULL_WALLET">EXTRA_FULL_WALLET</a></code> or 1135 <code><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#EXTRA_MASKED_WALLET">EXTRA_MASKED_WALLET</a></code> if the user had to make new 1136 selections. 1137</td> 1138 </tr> 1139 </table> 1140 </div> 1141 1142 </div> 1143</div> 1144 1145 1146<A NAME="loadMaskedWallet(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wallet.MaskedWalletRequest, int)"></A> 1147 1148<div class="jd-details api apilevel-"> 1149 <h4 class="jd-details-title"> 1150 <span class="normal"> 1151 public 1152 1153 1154 abstract 1155 1156 void 1157 </span> 1158 <span class="sympad">loadMaskedWallet</span> 1159 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, <a href="/reference/com/google/android/gms/wallet/MaskedWalletRequest.html">MaskedWalletRequest</a> request, int requestCode)</span> 1160 </h4> 1161 <div class="api-level"> 1162 <div></div> 1163 1164 1165 1166 </div> 1167 <div class="jd-details-descr"> 1168 1169 <div class="jd-tagdata jd-tagdescr"><p>If an application has authorization, loadMaskedWallet() allows you to skip the Google Wallet 1170 selector and directly request the masked payment credentials. This provides a more seamless 1171 purchase experience for your customers. When you call this method, the Google Wallet selector 1172 will be shown only if necessary. Either way, you can retrieve the <code><a href="/reference/com/google/android/gms/wallet/MaskedWallet.html">MaskedWallet</a></code> in 1173 <code>onActivityResult</code> using the specified <code>requestCode</code>.</p></div> 1174 <div class="jd-tagdata"> 1175 <h5 class="jd-tagtitle">Parameters</h5> 1176 <table class="jd-tagtable"> 1177 <tr> 1178 <th>googleApiClient</td> 1179 <td>An instance of <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code> configured to use the Wallet 1180 API</td> 1181 </tr> 1182 <tr> 1183 <th>requestCode</td> 1184 <td>will be passed back in onActivityResult where you can retrieve the result 1185 via <code><a href="/reference/com/google/android/gms/wallet/WalletConstants.html#EXTRA_MASKED_WALLET">EXTRA_MASKED_WALLET</a></code>. 1186</td> 1187 </tr> 1188 </table> 1189 </div> 1190 1191 </div> 1192</div> 1193 1194 1195<A NAME="notifyTransactionStatus(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wallet.NotifyTransactionStatusRequest)"></A> 1196 1197<div class="jd-details api apilevel-"> 1198 <h4 class="jd-details-title"> 1199 <span class="normal"> 1200 public 1201 1202 1203 abstract 1204 1205 void 1206 </span> 1207 <span class="sympad">notifyTransactionStatus</span> 1208 <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> googleApiClient, <a href="/reference/com/google/android/gms/wallet/NotifyTransactionStatusRequest.html">NotifyTransactionStatusRequest</a> request)</span> 1209 </h4> 1210 <div class="api-level"> 1211 <div></div> 1212 1213 1214 1215 </div> 1216 <div class="jd-details-descr"> 1217 1218 <div class="jd-tagdata jd-tagdescr"><p>Sends a notification to Google on whether the transaction succeeded or failed. This should 1219 always be called after payment processing as well as any failed validation checks.</p></div> 1220 <div class="jd-tagdata"> 1221 <h5 class="jd-tagtitle">Parameters</h5> 1222 <table class="jd-tagtable"> 1223 <tr> 1224 <th>googleApiClient</td> 1225 <td>An instance of <code><a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a></code> configured to use the Wallet 1226 API 1227</td> 1228 </tr> 1229 </table> 1230 </div> 1231 1232 </div> 1233</div> 1234 1235 1236 1237 1238 1239<!-- ========= METHOD DETAIL ======== --> 1240 1241 1242 1243<!-- ========= END OF CLASS DATA ========= --> 1244<A NAME="navbar_top"></A> 1245 1246<div id="footer" class="wrap" > 1247 1248 1249 <div id="copyright"> 1250 1251 Except as noted, this content is licensed under <a 1252 href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. 1253 For details and restrictions, see the <a href="/license.html"> 1254 Content License</a>. 1255 </div> 1256 <div id="build_info"> 1257 1258<script src="/timestamp.js" type="text/javascript"></script> 1259<script>document.write(BUILD_TIMESTAMP)</script> 1260 1261 </div> 1262 1263 1264 <div id="footerlinks"> 1265 1266 <p> 1267 <a href="/about/index.html">About Android</a> | 1268 <a href="/legal.html">Legal</a> | 1269 <a href="/support.html">Support</a> 1270 </p> 1271 </div> 1272 1273</div> <!-- end footer --> 1274</div> <!-- jd-content --> 1275 1276</div><!-- end doc-content --> 1277 1278</div> <!-- end body-content --> 1279 1280 1281 1282 1283 1284 1285</body> 1286</html> 1287