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)
-
+ (String) build_notify_response(request_id)
Creates OrderNotifyResponse to send to PayU.
-
+ (Documents::Response) cancel(order_id)
Cancels Order - Sends to PayU OrderCancelRequest.
-
+ (Documents::Response) consume_notification(request)
Transforms OrderNotifyRequest to [Documents::Response].
-
+ (Documents::Response) create(order)
Creates new Order - Sends to PayU OrderCreateRequest.
-
+ (Documents::Response) retrieve(order_id)
Retrieves information about the order - Sends to PayU OrderRetrieveRequest.
-
+ (Documents::Response) status_update(status_update)
Updates Order status - Sends to PayU OrderStatusUpdateRequest.
Class Method Details
+ (String) build_notify_response(request_id)
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 |
+ (Documents::Response) cancel(order_id)
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 |
+ (Documents::Response) consume_notification(request)
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 |
+ (Documents::Response) create(order)
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 |
+ (Documents::Response) retrieve(order_id)
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 |
+ (Documents::Response) status_update(status_update)
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 |