diff --git a/src/Message/ExpressPurchaseRequest.php b/src/Message/ExpressPurchaseRequest.php
index <HASH>..<HASH> 100644
--- a/src/Message/ExpressPurchaseRequest.php
+++ b/src/Message/ExpressPurchaseRequest.php
@@ -34,14 +34,25 @@ class ExpressPurchaseRequest extends BasePurchaseRequest
             "_input_charset"     => $this->getInputCharset(),
             "extra_common_param" => $this->getExtraCommonParam(),
             "extend_param"       => $this->getExtendParam(),
+            "it_b_pay"           => $this->getItBPay(),
+            "qr_pay_mode"        => $this->getQrPayMode(),
         );
-        $data              = array_filter($data);
+        
+        // removes all NULL, FALSE and Empty Strings but leaves 0 (zero) values
+        $data              = array_filter($data,'strlen');
         $data['sign']      = $this->getParamsSignature($data);
         $data['sign_type'] = $this->getSignType();
 
         return $data;
     }
 
+    public function setQrPayMode($value){
+        $this->setParameter('qr_pay_mode', $value);
+    }
+
+    public function getQrPayMode(){
+        return $this->getParameter('qr_pay_mode');
+    }
 
     public function getAntiPhishingKey()
     {
Update ExpressPurchaseRequest.php

add "qr_pay_mode" to Qrcode pay & fix issue: when the value is zero(0) will be removed