Sha256: d469bafd9511fba65d95f89d3de14915e912ba19e9546a85d0ccf9f5777b4a2f
Contents?: true
Size: 1.57 KB
Versions: 1
Compression:
Stored size: 1.57 KB
Contents
# frozen_string_literal: true require "securerandom" module DefraRubyMocks class GovpayCreatePaymentService < BaseService def run(amount:, description:, return_url:) success_response.merge( { _links: { self: { href: "#{base_url}/#{payment_id}", method: "GET" }, next_url: { href: return_url, method: "GET" } }, amount: amount.to_i, description: description, payment_id: payment_id } ) end private def base_url File.join(DefraRubyMocks.configuration.govpay_domain, "/payments") end def payment_id @payment_id ||= SecureRandom.alphanumeric(26) end # rubocop:disable Metrics/MethodLength def success_response { created_date: "2020-03-03T16:17:19.554Z", state: { status: "created", finished: false }, _links: { self: { href: "https://publicapi.payments.service.gov.uk/v1/payments/hu20sqlact5260q2nanm0q8u93", method: "GET" }, next_url: { href: "https://www.payments.service.gov.uk/secure/bb0a272c-8eaf-468d-b3xf-ae5e000d2231", method: "GET" } }, amount: 14_500, reference: "12345", description: "Pay your council tax", return_url: "https://your.service.gov.uk/completed", payment_id: "hu20sqlact5260q2nanm0q8u93", payment_provider: "worldpay", provider_id: "10987654321" } end # rubocop:enable Metrics/MethodLength end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
defra_ruby_mocks-4.0.0 | app/services/defra_ruby_mocks/govpay_create_payment_service.rb |