@OnClick({ R.id.toolbar_left_layout, R.id.activity_finally_payment_cancel_button, R.id.activity_finally_payment_payment_button }) void onClick(View view) { switch (view.getId()) { case R.id.toolbar_left_layout: case R.id.activity_finally_payment_cancel_button: onBackPressed(); break; case R.id.activity_finally_payment_payment_button: NetworkManager.getInstance() .payment( cardId, paymentSendObject, null, new Callback<CardReceiveObject>() { @Override public void onResponse( Call<CardReceiveObject> call, Response<CardReceiveObject> response) { if (BuildConfig.DEBUG) Log.d(TAG, "payment onResponse"); NetworkManager.getInstance() .reserveStatus( reservationId, bicycleId, "PS", null, new Callback<ReceiveObject>() { @Override public void onResponse( Call<ReceiveObject> call, Response<ReceiveObject> response) { if (BuildConfig.DEBUG) Log.d(TAG, "reserveStatus onResponse"); } @Override public void onFailure(Call<ReceiveObject> call, Throwable t) { if (BuildConfig.DEBUG) Log.d(TAG, "reserveStatus onFailure", t); } }); } @Override public void onFailure(Call<CardReceiveObject> call, Throwable t) { if (BuildConfig.DEBUG) Log.d(TAG, "payment onFailure", t); } }); break; } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_finally_payment); Toolbar toolbar = (Toolbar) findViewById(R.id.activity_finally_payment_toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(false); getSupportActionBar().setDisplayShowCustomEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().setCustomView(R.layout.toolbar); ButterKnife.bind(this); /* 툴바 배경 */ if (Build.VERSION.SDK_INT < 23) toolbarLayout.setBackgroundColor(getResources().getColor(R.color.bikeeWhite)); else toolbarLayout.setBackgroundColor(getResources().getColor(R.color.bikeeWhite, getTheme())); /* 툴바 왼쪽 */ toolbarLeftBackIconImageView.setVisibility(View.VISIBLE); toolbarLeftBackIconImageView.setImageResource(R.drawable.icon_before); /* 툴바 가운데 */ toolbarCenterTextView.setVisibility(View.VISIBLE); if (Build.VERSION.SDK_INT < 23) toolbarCenterTextView.setTextColor(getResources().getColor(R.color.bikeeBlack)); else toolbarCenterTextView.setTextColor(getResources().getColor(R.color.bikeeBlack, getTheme())); toolbarCenterTextView.setText("결제하기"); intent = getIntent(); bicycleId = intent.getStringExtra("BICYCLE_ID"); bicycleImage = intent.getStringExtra("BICYCLE_IMAGE"); bicycleName = intent.getStringExtra("BICYCLE_NAME"); listerId = intent.getStringExtra("LISTER_ID"); listerName = intent.getStringExtra("LISTER_NAME"); reservationId = intent.getStringExtra("RESERVATION_ID"); rentalStartDate = (Date) intent.getSerializableExtra("RENTAL_START_DATE"); rentalEndDate = (Date) intent.getSerializableExtra("RENTAL_END_DATE"); rentalPeriod = intent.getStringExtra("RENTAL_PERIOD"); rentalPrice = intent.getIntExtra("RENTAL_PRICE", -1); renterEmail = PropertyManager.getInstance().getEmail(); renterName = PropertyManager.getInstance().getName(); cardId = intent.getStringExtra("CARD_ID"); ImageUtil.setRoundRectangleImageFromURL( this, bicycleImage, R.drawable.detailpage_bike_image_noneimage, bicyclePictureImageView, getResources() .getDimension( R.dimen .activity_finally_payment_bicycle_information_bicycle_picture_image_view_round_radius)); bicycleTitleTextView.setText(bicycleName); listerNameTextView.setText(listerName); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd ah:mm", java.util.Locale.getDefault()); rentalStartDateTextView.setText(simpleDateFormat.format(rentalStartDate)); rentalEndDateTextView.setText(simpleDateFormat.format(rentalEndDate)); rentalPeriodTextView.setText(rentalPeriod); paymentTextView.setText("" + rentalPrice); NetworkManager.getInstance() .receiveCardToken( null, new Callback<CardTokenReceiveObject>() { @Override public void onResponse( Call<CardTokenReceiveObject> call, Response<CardTokenReceiveObject> response) { if (BuildConfig.DEBUG) Log.d(TAG, "receiveCardToken onResponse"); CardTokenReceiveObject cardTokenReceiveObject = response.body(); cardTokenReceiveObject.getToken(); IAmPortSendObject iAmPortSendObject = new IAmPortSendObject(); iAmPortSendObject.setMerchant_uid("bikee_" + new Date().getTime()); // TODO : 가격 입력, 현재 하드코딩됨 iAmPortSendObject.setAmount(1000); IAmPortNetworkManager.getInstance() .prepayment( cardTokenReceiveObject.getToken(), iAmPortSendObject, null, new Callback<IAmPortReceiveObject>() { @Override public void onResponse( Call<IAmPortReceiveObject> call, Response<IAmPortReceiveObject> response) { IAmPortReceiveObject iAmPortReceiveObject = response.body(); if (BuildConfig.DEBUG) Log.d(TAG, "prepayment onResponse"); if (iAmPortReceiveObject.getCode().equals("0")) { if (BuildConfig.DEBUG) Log.d(TAG, "prepayment 사전 결제 성공"); paymentSendObject = new PaymentSendObject(); paymentSendObject.setAmount( iAmPortReceiveObject.getResponse().getAmount()); paymentSendObject.setMerchant_uid( iAmPortReceiveObject.getResponse().getMerchant_uid()); paymentSendObject.setLister(listerId); paymentSendObject.setBike(bicycleId); paymentSendObject.setName(bicycleName); paymentSendObject.setBuyer_email(renterEmail); paymentSendObject.setBuyer_name(renterName); } else { if (BuildConfig.DEBUG) Log.d(TAG, "prepayment 사전 결제 실패"); } } @Override public void onFailure(Call<IAmPortReceiveObject> call, Throwable t) { if (BuildConfig.DEBUG) Log.d(TAG, "prepayment onFailure", t); } }); } @Override public void onFailure(Call<CardTokenReceiveObject> call, Throwable t) { if (BuildConfig.DEBUG) Log.d(TAG, "receiveCardToken onFailure", t); } }); }