/** Fills payment details view with general order information. */
  private void displayOrderInfo() {
    final StringBuilder descriptionTextBuilder = new StringBuilder();
    final PaymentRequest paymentRequest = mTransaction.getPaymentRequest();
    final RTPType rtpType = paymentRequest.getRtpType();
    final TransactionId transactionId = mTransaction.getTransactionId();

    final String aptrId =
        transactionId == null
            ? getString(R.string.transaction_details_not_available)
            : transactionId.getAptrId();
    descriptionTextBuilder.append(getString(R.string.transaction_order_number, aptrId));
    descriptionTextBuilder.append(getString(R.string.transaction_confirmation_email_text));

    final String orderDate = DATE_FORMAT.format(new Date());
    descriptionTextBuilder.append(getString(R.string.transaction_order_date, orderDate));

    switch (rtpType) {
      case IMMEDIATE:
        descriptionTextBuilder.append(
            getString(R.string.transaction_order_total, paymentRequest.getAmount().toString()));
        break;
      case DEFERRED:
        descriptionTextBuilder.append(
            getString(
                R.string.transaction_order_total,
                paymentRequest.getDefrdRTPAgrmtAmount().toString()));
        final Merchant merchant = paymentRequest.getMerchant();
        final CurrencyAmount defrdRTPMaxAgrdAmount = paymentRequest.getDefrdRTPMaxAgrdAmount();
        if (defrdRTPMaxAgrdAmount != null) {
          descriptionTextBuilder.append(
              getString(
                  R.string.transaction_agreed_max_amount,
                  merchant.getName(),
                  defrdRTPMaxAgrdAmount.toString()));
        }
        break;
      default:
        descriptionTextBuilder.append(
            getString(
                R.string.transaction_order_total,
                getString(R.string.transaction_details_not_available)));
        break;
    }

    mPaymentDescriptionTextView.setText(Html.fromHtml(descriptionTextBuilder.toString()));
  }