diff --git a/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_entry_tran_ganb_gets_data_about_a_transaction.yml b/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_entry_tran_ganb_gets_data_about_a_transaction.yml
new file mode 100644
index 0000000..7d21099
--- /dev/null
+++ b/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_entry_tran_ganb_gets_data_about_a_transaction.yml
@@ -0,0 +1,35 @@
+---
+http_interactions:
+- request:
+    method: post
+    uri: https://<HOST>/payment/EntryTranGANB.idPass
+    body:
+      encoding: UTF-8
+      string: OrderID=1696341308&Amount=100&ShopID=<SHOP_ID>&ShopPass=<SHOP_PASS>
+    headers:
+      Accept-Encoding:
+      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+      Accept:
+      - "*/*"
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Server:
+      - nginx
+      Date:
+      - Tue, 03 Oct 2023 13:55:08 GMT
+      Content-Type:
+      - text/plain;charset=Shift_JIS
+      Transfer-Encoding:
+      - chunked
+      Connection:
+      - close
+    body:
+      encoding: UTF-8
+      string: OrderID=1696341308&AccessID=e297cc560cc91e226d0affef26f9ca10&AccessPass=e81b3b1af08488e16d73dcf5e0ecd6b0
+  recorded_at: Tue, 03 Oct 2023 13:55:08 GMT
+recorded_with: VCR 6.1.0
diff --git a/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_exec_tran_ganb_gets_data_about_a_transaction.yml b/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_exec_tran_ganb_gets_data_about_a_transaction.yml
new file mode 100644
index 0000000..c49cae1
--- /dev/null
+++ b/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_exec_tran_ganb_gets_data_about_a_transaction.yml
@@ -0,0 +1,68 @@
+---
+http_interactions:
+- request:
+    method: post
+    uri: https://<HOST>/payment/EntryTranGANB.idPass
+    body:
+      encoding: UTF-8
+      string: OrderID=1696418445&Amount=100&ShopID=<SHOP_ID>&ShopPass=<SHOP_PASS>
+    headers:
+      Accept-Encoding:
+      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+      Accept:
+      - "*/*"
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Server:
+      - nginx
+      Date:
+      - Wed, 04 Oct 2023 11:20:50 GMT
+      Content-Type:
+      - text/plain;charset=Shift_JIS
+      Transfer-Encoding:
+      - chunked
+      Connection:
+      - close
+    body:
+      encoding: UTF-8
+      string: OrderID=1696418445&AccessID=ef73b56f6daf8fb36fa8e0a2133a0613&AccessPass=f9e832b3b9c886b70d98c5e857571033
+  recorded_at: Wed, 04 Oct 2023 11:20:45 GMT
+- request:
+    method: post
+    uri: https://<HOST>/payment/ExecTranGANB.idPass
+    body:
+      encoding: UTF-8
+      string: OrderID=1696418445&AccessID=ef73b56f6daf8fb36fa8e0a2133a0613&AccessPass=f9e832b3b9c886b70d98c5e857571033&ClientField1=%89%C1%96%BF%93X%8E%A9%97R%8D%80%96%DA1%82%C5%82%B7%81B&ClientField2=%89%C1%96%BF%93X%8E%A9%97R%8D%80%96%DA2%82%C5%82%B7%81B&ClientField3=%89%C1%96%BF%93X%8E%A9%97R%8D%80%96%DA3%82%C5%82%B7%81B&=irai%40example.com&TradeDays=3&TradeReason=%8E%E6%88%F8%8E%96%97R%82%C5%82%B7%81B&TradeClientName=%88%CB%97%8A%89%D4%8Eq&ShopID=<SHOP_ID>&ShopPass=<SHOP_PASS>
+    headers:
+      Accept-Encoding:
+      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+      Accept:
+      - "*/*"
+      User-Agent:
+      - Ruby
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      Server:
+      - nginx
+      Date:
+      - Wed, 04 Oct 2023 11:21:05 GMT
+      Content-Type:
+      - text/plain;charset=Shift_JIS
+      Transfer-Encoding:
+      - chunked
+      Connection:
+      - close
+    body:
+      encoding: ASCII-8BIT
+      string: !binary |-
+        QWNjZXNzSUQ9ZWY3M2I1NmY2ZGFmOGZiMzZmYThlMGEyPFRPS0VOPjMzYTA2PFRPS0VOPjMmQmFua0NvZGU9MDM8VE9LRU4+MCZCYW5rTmFtZT283i200bUtsbW/3tfIwsQmQnJhbmNoQ29kZT01MDMmQnJhbmNoTmFtZT22v7O8w90mQWNjb3VudFR5cGU9PFRPS0VOPiZBY2NvdW50TnVtYmVyPTg5Mjk2OTYmQWNjb3VudEhvbGRlck5hbWU9w73EvK6vzN8mQXZhaWxhYmxlRGF0ZT0yMDIzPFRPS0VOPjAwNw==
+  recorded_at: Wed, 04 Oct 2023 11:21:00 GMT
+recorded_with: VCR 6.1.0
diff --git a/lib/gmo/shop_api.rb b/lib/gmo/shop_api.rb
index 337d52c..6d88df1 100644
--- a/lib/gmo/shop_api.rb
+++ b/lib/gmo/shop_api.rb
@@ -83,6 +83,16 @@ def entry_tran_paypal(options = {})
         post_request name, options
       end
 
+      # 【銀行振込(バーチャル口座 あおぞら)】
+      #  取引登録
+      #  オーダーIDを指定して取引を登録します。
+      def entry_tran_ganb(options = {})
+        name = "EntryTranGANB.idPass"
+        required = [:order_id, :amount]
+        assert_required_options(required, options)
+        post_request name, options
+      end
+
       # 【LINE Pay決済】
       #  20.1.2.1. 取引登録
       #  これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。
@@ -342,6 +352,16 @@ def exec_tran_paypal(options = {})
         post_request name, options
       end
 
+      # 【銀行振込(バーチャル口座 あおぞら)】
+      # 決済実行
+      # 登録された取引に対してバーチャル口座を発行します。
+      def exec_tran_ganb(options = {})
+        name = "ExecTranGANB.idPass"
+        required = [:access_id, :access_pass, :order_id]
+        assert_required_options(required, options)
+        post_request name, options
+      end
+
       # 【LINE Pay決済】
       # 20.1.2.2. 決済実行
       def exec_tran_linepay(options = {})
diff --git a/spec/gmo/shop_api_spec.rb b/spec/gmo/shop_api_spec.rb
index 170686d..38af9de 100644
--- a/spec/gmo/shop_api_spec.rb
+++ b/spec/gmo/shop_api_spec.rb
@@ -117,6 +117,25 @@
     end
   end
 
+  describe "#entry_tran_ganb" do
+    it "gets data about a transaction", :vcr do
+      order_id = @order_id
+      result = @service.entry_tran_ganb({
+        :order_id => order_id,
+        :amount => 100
+      })
+      result["AccessID"].nil?.should_not be_truthy
+      result["AccessPass"].nil?.should_not be_truthy
+    end
+
+    it "got error if missing options", :vcr do
+      lambda {
+        result = @service.entry_tran_ganb()
+      }.should raise_error("Required order_id, amount were not provided.")
+    end
+  end
+
+
   describe "#entry_tran_linepay" do
     it "gets data about a transaction", :vcr do
       order_id = @order_id
@@ -475,6 +494,45 @@
     end
   end
 
+  describe "#exec_tran_ganb" do
+    it "gets data about a transaction", :vcr do
+      order_id = generate_id
+      result = @service.entry_tran_ganb({
+        :order_id => order_id,
+        :amount => 100
+      })
+      access_id = result["AccessID"]
+      access_pass = result["AccessPass"]
+      result = @service.exec_tran_ganb({
+        :order_id      => order_id,
+        :access_id     => access_id,
+        :access_pass   => access_pass,
+        :client_field_1 => '加盟店自由項目1です。',
+        :client_field_2 => '加盟店自由項目2です。',
+        :client_field_3 => '加盟店自由項目3です。',
+        :account_holder_optional_name => 'コウザタロウ',
+        :trade_days        => '3',
+        :trade_reason => '取引事由です。',
+        :trade_client_name => '依頼花子',
+        :trade_client_mailaddress => 'irai@example.com'
+      })
+      result["BankCode"].nil?.should_not be_truthy
+      result["BankName"].nil?.should_not be_truthy
+      result["BranchCode"].nil?.should_not be_truthy
+      result["BranchName"].nil?.should_not be_truthy
+      result["AccountType"].nil?.should_not be_truthy
+      result["AccountNumber"].nil?.should_not be_truthy
+      result["AccountHolderName"].nil?.should_not be_truthy
+      result["AvailableDate"].nil?.should_not be_truthy
+    end
+
+    it "got error if missing options", :vcr do
+      lambda {
+        result = @service.exec_tran_ganb()
+      }.should raise_error("Required access_id, access_pass, order_id were not provided.")
+    end
+  end
+
   describe "#exec_tran_linepay" do
     it "gets data about a transaction", :vcr do
       order_id = generate_id