Class: OpenPayU::Order
- Inherits:
-
Object
- Object
- OpenPayU::Order
- Defined in:
- lib/openpayu/order.rb
Overview
A class responsible for dealing with Order
Class Method Summary collapse
-
.build_notify_response(request_id) ⇒ String
Creates OrderNotifyResponse to send to PayU.
-
.cancel(order_id) ⇒ Documents::Response
Cancels Order - Sends to PayU OrderCancelRequest.
-
.consume_notification(request) ⇒ Documents::Response
Transforms OrderNotifyRequest to [Documents::Response].
-
.create(order) ⇒ Documents::Response
Creates new Order - Sends to PayU OrderCreateRequest.
-
.retrieve(order_id) ⇒ Documents::Response
Retrieves information about the order - Sends to PayU OrderRetrieveRequest.
-
.status_update(status_update) ⇒ Documents::Response
Updates Order status - Sends to PayU OrderStatusUpdateRequest.
Class Method Details
.build_notify_response(request_id) ⇒ String
Creates OrderNotifyResponse to send to PayU
91 92 93 94 95 96 97 |
# File 'lib/openpayu/order.rb', line 91 def self.build_notify_response(request_id) response = Models::NotifyResponse.new({ res_id: request_id, status: { 'statusCode' => 'SUCCESS' } }) response.prepare_data end |
.cancel(order_id) ⇒ Documents::Response
Cancels Order
-
Sends to PayU OrderCancelRequest
60 61 62 63 64 |
# File 'lib/openpayu/order.rb', line 60 def self.cancel(order_id) Documents::Response.new( Connection.delete("orders/#{order_id}", nil) ) end |
.consume_notification(request) ⇒ Documents::Response
Transforms OrderNotifyRequest to [Documents::Response]
73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/openpayu/order.rb', line 73 def self.consume_notification(request) response = Documents::Response.new( { response: request, request: nil } ) if !response.nil? response else raise( WrongNotifyRequest, "Invalid OrderNotifyRequest: #{request.inspect}" ) end end |
.create(order) ⇒ Documents::Response
Creates new Order
-
Sends to PayU OrderCreateRequest
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/openpayu/order.rb', line 28 def self.create(order) @order = Models::Order.new(order) if @order.all_objects_valid? Documents::Response.new( Connection.post('orders', @order.prepare_data) ) else raise WrongOrderParameters.new(@order) end end |
.retrieve(order_id) ⇒ Documents::Response
Retrieves information about the order
-
Sends to PayU OrderRetrieveRequest
14 15 16 17 18 |
# File 'lib/openpayu/order.rb', line 14 def self.retrieve(order_id) Documents::Response.new( Connection.get("orders/#{order_id}", nil) ) end |
.status_update(status_update) ⇒ Documents::Response
Updates Order status
-
Sends to PayU OrderStatusUpdateRequest
47 48 49 50 51 52 |
# File 'lib/openpayu/order.rb', line 47 def self.status_update(status_update) @update = OpenPayU::Models::StatusUpdate.new status_update Documents::Response.new( Connection.put("orders/#{@update.order_id}/status", @update.prepare_data) ) end |