Saving offer to Google Wallet Saving offer to Google Wallet android android

Saving offer to Google Wallet


I have integrated Google Wallet successfully, from this Video.Link

  public class MainActivity extends ActionBarActivity implements  GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener{private GoogleApiClient mGoogleApiClient;private SupportWalletFragment mWalletFregment;private SupportWalletFragment mXmlWalletFregment;private MaskedWallet mMaskedWallet;private FullWallet mFullWallet;public static final int MASKED_WALLET_REQUEST_CODE=888;public static final int FULL_WALLET_REQUEST_CODE=889;public static final String WALLET_FRAGMENT_ID="wallet_fragment";@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    mWalletFregment=(SupportWalletFragment) getSupportFragmentManager()            .findFragmentByTag(WALLET_FRAGMENT_ID);    WalletFragmentInitParams startParams;    WalletFragmentInitParams.Builder startParamsBuilder=WalletFragmentInitParams.newBuilder()            .setMaskedWalletRequest(generateMaskedwalletRequest())            .setMaskedWalletRequestCode(MASKED_WALLET_REQUEST_CODE);    startParams=startParamsBuilder.build();    Log.e("FREGMENT",""+mWalletFregment);    if(mWalletFregment==null){        WalletFragmentStyle walletFragmentStyle=new WalletFragmentStyle()                .setBuyButtonText(BuyButtonText.BUY_WITH_GOOGLE)                .setBuyButtonWidth(Dimension.MATCH_PARENT);        WalletFragmentOptions walletFragmentOptions=WalletFragmentOptions.newBuilder()                .setEnvironment(WalletConstants.ENVIRONMENT_SANDBOX)                .setFragmentStyle(walletFragmentStyle)                .setTheme(WalletConstants.THEME_HOLO_LIGHT)                .setMode(WalletFragmentMode.BUY_BUTTON)                .build();        mWalletFregment=SupportWalletFragment.newInstance(walletFragmentOptions);        mWalletFregment.initialize(startParams);    }    Log.e("FREGMENT",""+mWalletFregment);    getSupportFragmentManager().beginTransaction()            .replace(R.id.wallet_button_holder,mWalletFregment,WALLET_FRAGMENT_ID)            .commit();    mGoogleApiClient=new GoogleApiClient.Builder(this)            .addConnectionCallbacks(this)            .addOnConnectionFailedListener(this)            .addApi(Wallet.API,new Wallet.WalletOptions.Builder()                        .setEnvironment(WalletConstants.ENVIRONMENT_SANDBOX)                        .setTheme(WalletConstants.THEME_HOLO_LIGHT)                        .build())            .build();    setContentView(R.layout.activity_main);}@Overrideprotected void onStart() {    mGoogleApiClient.connect();    super.onStart();}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    switch (requestCode){        case MASKED_WALLET_REQUEST_CODE :            switch (resultCode){                case Activity.RESULT_OK :                    mMaskedWallet=data.getParcelableExtra(WalletConstants.EXTRA_MASKED_WALLET);                    break;                case Activity.RESULT_CANCELED :                    break;                default:                    Toast.makeText(this,"An Error Occured",Toast.LENGTH_LONG).show();                    break;            }            break;        case FULL_WALLET_REQUEST_CODE :            switch (resultCode){                case Activity.RESULT_OK :                    mFullWallet= data.getParcelableExtra(WalletConstants.EXTRA_FULL_WALLET);                    Toast.makeText(this,mFullWallet.getProxyCard().getPan().toString(),Toast.LENGTH_LONG).show();                    Wallet.Payments.notifyTransactionStatus(mGoogleApiClient,                            generateNotifyTransactionStatusrequest(mFullWallet.getGoogleTransactionId(),                                    NotifyTransactionStatusRequest.Status.SUCCESS));                    break;                default:                    Toast.makeText(this,"An Error Occured",Toast.LENGTH_LONG).show();                    break;            }            break;        case WalletConstants.RESULT_ERROR:            Toast.makeText(this,"An Error Occured",Toast.LENGTH_LONG).show();            break;    }}public static NotifyTransactionStatusRequest generateNotifyTransactionStatusrequest(        String googleTransactionId,int status ){    return NotifyTransactionStatusRequest.newBuilder()            .setGoogleTransactionId(googleTransactionId)            .setStatus(status)            .build();}private MaskedWalletRequest generateMaskedwalletRequest(){    MaskedWalletRequest maskWalletRequest=MaskedWalletRequest.newBuilder()            .setMerchantName("Google I/O CoadeLab")            .setPhoneNumberRequired(true)            .setShippingAddressRequired(true)            .setCurrencyCode("INR")            .setEstimatedTotalPrice("10.00")            .setCart(Cart.newBuilder()                      .setCurrencyCode("INR")                      .setTotalPrice("10.00")                      .addLineItem(LineItem.newBuilder().setCurrencyCode("INR")                                      .setQuantity("1")                                      .setUnitPrice("10.00")                                       .setTotalPrice("10.00")                                       .build() )                      .build())            .build();    return maskWalletRequest;}private FullWalletRequest generateFullWalletRequest(String googleTransactionId){     FullWalletRequest fullWalletRequest=FullWalletRequest.newBuilder()             .setCart(Cart.newBuilder()                      .setCurrencyCode("INR")                       .setTotalPrice("10.10")                        .addLineItem(LineItem.newBuilder()                                .setCurrencyCode("INR")                                .setQuantity("1")                                .setUnitPrice("10.00")                                .setTotalPrice("10.00")                                .build())                     .addLineItem(LineItem.newBuilder()                             .setCurrencyCode("INR")                             .setDescription("Tax")                             .setRole(LineItem.Role.TAX)                             .setTotalPrice(".10")                             .build())                     .build())             .build();    return fullWalletRequest;}public void requestFullWallet(View view){       if(mGoogleApiClient.isConnected()){           Wallet.Payments.loadFullWallet(mGoogleApiClient,                   generateFullWalletRequest(mMaskedWallet.getGoogleTransactionId()),                   FULL_WALLET_REQUEST_CODE);       }}@Overridepublic void onConnected(Bundle bundle) {}@Overridepublic void onConnectionSuspended(int i) {}@Overridepublic void onConnectionFailed(ConnectionResult connectionResult) {}}

Hope this is useful for you.