Rapyd.Services.Collect (rapyd v1.0.0)

Copy Markdown View Source

Rapyd Collect — accept payments globally.

Covers: Payments, Hosted Checkout Pages, Payment Links, Group Payments, Refunds, Disputes, Customers, Plans, Subscriptions, Invoices, Coupons, Orders, SKUs, Card Tokens, Payment Devices, and FX Rates.

All functions return {:ok, map()} or {:error, %Rapyd.Error{}}. The map is the raw "data" field from the Rapyd response envelope; cast it with the structs in Rapyd.Types.* as needed.

Summary

Functions

Cancel a pending refund.

Cancel a subscription.

Capture a previously authorized payment.

Complete a payment that requires a redirect (e.g. after 3DS).

Simulate a refund completion (sandbox only).

Create an address.

Create a card token (PCI vault).

Create a hosted checkout page.

Create a customer.

Create an escrow payment.

Create a group payment.

Create a refund for a group payment.

Create an invoice.

Create an invoice item.

Create an order.

Create a payment.

Create a payment link.

Create a billing plan.

Create a subscription.

Delete a checkout page.

Remove the discount applied to a customer.

Delete a customer's saved payment method.

Delete a group payment.

Delete an invoice item.

Delete a payment device.

Delete a payment link.

Remove the discount applied to a subscription.

Finalize a draft invoice (moves it to open status).

Retrieve an address.

Retrieve a card token.

Retrieve a checkout page by token.

Retrieve a coupon.

Retrieve a customer.

Retrieve a customer's saved payment method.

Retrieve a dispute.

Retrieve a group payment.

Retrieve an invoice.

Retrieve an invoice item.

Retrieve an order.

Retrieve a payment by ID.

Retrieve a payment device.

Retrieve a payment link.

Get the required fields for a payment method type.

Get available payment methods for a country and currency.

Retrieve a plan.

Retrieve a refund.

Retrieve a SKU.

Retrieve a subscription.

List a customer's saved payment methods.

List payments with optional filters.

List a subscription's items.

Pair a payment device to a merchant terminal.

Pay an invoice immediately.

Pay / fulfil an order.

Register a payment device (POS terminal).

Release escrowed funds on a specific escrow record.

Release escrowed funds to one or more wallets.

Update a dispute (submit evidence).

Functions

cancel_escrow(client, payment_id, escrow_id)

@spec cancel_escrow(Rapyd.Client.t(), String.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Cancel an escrow record.

cancel_payment(client, payment_id)

@spec cancel_payment(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Cancel a payment.

cancel_refund(client, refund_id)

@spec cancel_refund(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Cancel a pending refund.

cancel_subscription(client, sub_id)

@spec cancel_subscription(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Cancel a subscription.

capture_payment(client, payment_id, params \\ %{})

@spec capture_payment(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Capture a previously authorized payment.

complete_payment(client, token, param3)

@spec complete_payment(Rapyd.Client.t(), String.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Complete a payment that requires a redirect (e.g. after 3DS).

token is the payment token; param3 is the redirect param returned by the payment method provider.

complete_refund(client, refund_id)

@spec complete_refund(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Simulate a refund completion (sandbox only).

create_address(client, params)

@spec create_address(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create an address.

create_card_token(client, params)

@spec create_card_token(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a card token (PCI vault).

create_checkout_page(client, params)

@spec create_checkout_page(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a hosted checkout page.

create_coupon(client, params)

@spec create_coupon(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a coupon.

create_customer(client, params)

@spec create_customer(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a customer.

create_customer_payment_method(client, customer_id, params)

@spec create_customer_payment_method(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Add a payment method to a customer.

create_escrow_payment(client, params)

@spec create_escrow_payment(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create an escrow payment.

create_group_payment(client, params)

@spec create_group_payment(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a group payment.

create_group_refund(client, group_payment_id, amount)

@spec create_group_refund(Rapyd.Client.t(), String.t(), float()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a refund for a group payment.

create_invoice(client, params)

@spec create_invoice(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create an invoice.

create_invoice_item(client, params)

@spec create_invoice_item(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create an invoice item.

create_order(client, params)

@spec create_order(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create an order.

create_payment(client, params)

@spec create_payment(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a payment.

create_payment_link(client, params)

@spec create_payment_link(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a payment link.

create_plan(client, params)

@spec create_plan(Rapyd.Client.t(), map()) :: {:ok, map()} | {:error, Rapyd.Error.t()}

Create a billing plan.

create_refund(client, params)

@spec create_refund(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a refund.

create_sku(client, params)

@spec create_sku(Rapyd.Client.t(), map()) :: {:ok, map()} | {:error, Rapyd.Error.t()}

Create a SKU.

create_subscription(client, params)

@spec create_subscription(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Create a subscription.

delete_address(client, address_id)

@spec delete_address(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete an address.

delete_checkout_page(client, token)

@spec delete_checkout_page(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a checkout page.

delete_coupon(client, coupon_id)

@spec delete_coupon(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a coupon.

delete_customer(client, customer_id)

@spec delete_customer(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a customer.

delete_customer_discount(client, customer_id)

@spec delete_customer_discount(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Remove the discount applied to a customer.

delete_customer_payment_method(client, customer_id, pm_token)

@spec delete_customer_payment_method(Rapyd.Client.t(), String.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a customer's saved payment method.

delete_group_payment(client, gp_id)

@spec delete_group_payment(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a group payment.

delete_invoice(client, invoice_id)

@spec delete_invoice(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete an invoice.

delete_invoice_item(client, item_id)

@spec delete_invoice_item(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete an invoice item.

delete_payment_device(client, device_id)

@spec delete_payment_device(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a payment device.

delete_payment_link(client, link_id)

@spec delete_payment_link(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a payment link.

delete_plan(client, plan_id)

@spec delete_plan(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a plan.

delete_sku(client, sku_id)

@spec delete_sku(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Delete a SKU.

delete_subscription_discount(client, sub_id)

@spec delete_subscription_discount(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Remove the discount applied to a subscription.

finalize_invoice(client, invoice_id)

@spec finalize_invoice(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Finalize a draft invoice (moves it to open status).

get_address(client, address_id)

@spec get_address(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve an address.

get_card_token(client, token_id)

@spec get_card_token(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a card token.

get_checkout_page(client, token)

@spec get_checkout_page(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a checkout page by token.

get_coupon(client, coupon_id)

@spec get_coupon(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a coupon.

get_customer(client, customer_id)

@spec get_customer(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a customer.

get_customer_payment_method(client, customer_id, pm_token)

@spec get_customer_payment_method(Rapyd.Client.t(), String.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a customer's saved payment method.

get_dispute(client, dispute_id)

@spec get_dispute(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a dispute.

get_group_payment(client, gp_id)

@spec get_group_payment(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a group payment.

get_invoice(client, invoice_id)

@spec get_invoice(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve an invoice.

get_invoice_item(client, item_id)

@spec get_invoice_item(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve an invoice item.

get_order(client, order_id)

@spec get_order(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve an order.

get_payment(client, payment_id)

@spec get_payment(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a payment by ID.

get_payment_device(client, device_id)

@spec get_payment_device(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a payment device.

get_payment_link(client, link_id)

@spec get_payment_link(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a payment link.

get_payment_method_fields(client, method_type)

@spec get_payment_method_fields(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Get the required fields for a payment method type.

get_payment_methods_by_country(client, country, currency)

@spec get_payment_methods_by_country(Rapyd.Client.t(), String.t(), String.t()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

Get available payment methods for a country and currency.

get_plan(client, plan_id)

@spec get_plan(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a plan.

get_refund(client, refund_id)

@spec get_refund(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a refund.

get_sku(client, sku_id)

@spec get_sku(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a SKU.

get_subscription(client, sub_id)

@spec get_subscription(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Retrieve a subscription.

list_coupons(client, filters \\ %{})

@spec list_coupons(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List coupons.

list_customer_payment_methods(client, customer_id)

@spec list_customer_payment_methods(Rapyd.Client.t(), String.t()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List a customer's saved payment methods.

list_customers(client, filters \\ %{})

@spec list_customers(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List customers.

list_disputes(client, filters \\ %{})

@spec list_disputes(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List disputes.

list_invoice_items(client, filters \\ %{})

@spec list_invoice_items(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List invoice items.

list_invoices(client, filters \\ %{})

@spec list_invoices(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List invoices.

list_orders(client, filters \\ %{})

@spec list_orders(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List orders.

list_payment_devices(client, filters \\ %{})

@spec list_payment_devices(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List payment devices.

list_payment_links(client, filters \\ %{})

@spec list_payment_links(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List payment links.

list_payments(client, filters \\ %{})

@spec list_payments(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List payments with optional filters.

list_plans(client, filters \\ %{})

@spec list_plans(Rapyd.Client.t(), map()) :: {:ok, list()} | {:error, Rapyd.Error.t()}

List plans.

list_refunds(client, filters \\ %{})

@spec list_refunds(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List refunds.

list_skus(client, filters \\ %{})

@spec list_skus(Rapyd.Client.t(), map()) :: {:ok, list()} | {:error, Rapyd.Error.t()}

List SKUs.

list_subscription_items(client, sub_id)

@spec list_subscription_items(Rapyd.Client.t(), String.t()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List a subscription's items.

list_subscriptions(client, filters \\ %{})

@spec list_subscriptions(Rapyd.Client.t(), map()) ::
  {:ok, list()} | {:error, Rapyd.Error.t()}

List subscriptions.

pair_payment_device(client, device_id, params)

@spec pair_payment_device(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Pair a payment device to a merchant terminal.

pay_invoice(client, invoice_id)

@spec pay_invoice(Rapyd.Client.t(), String.t()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Pay an invoice immediately.

pay_order(client, order_id, params)

@spec pay_order(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Pay / fulfil an order.

register_payment_device(client, params)

@spec register_payment_device(Rapyd.Client.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Register a payment device (POS terminal).

release_escrow(client, payment_id, escrow_id, params)

@spec release_escrow(Rapyd.Client.t(), String.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Release escrowed funds on a specific escrow record.

release_escrow_payment(client, payment_id, ewallets)

@spec release_escrow_payment(Rapyd.Client.t(), String.t(), [map()]) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Release escrowed funds to one or more wallets.

return_order(client, order_id, params \\ %{})

@spec return_order(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Return an order.

update_address(client, address_id, params)

@spec update_address(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update an address.

update_checkout_page(client, token, params)

@spec update_checkout_page(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a checkout page.

update_coupon(client, coupon_id, params)

@spec update_coupon(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a coupon.

update_customer(client, customer_id, params)

@spec update_customer(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a customer.

update_customer_payment_method(client, customer_id, pm_token, params)

@spec update_customer_payment_method(Rapyd.Client.t(), String.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a customer's saved payment method.

update_dispute(client, dispute_id, params)

@spec update_dispute(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a dispute (submit evidence).

update_invoice(client, invoice_id, params)

@spec update_invoice(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update an invoice.

update_order(client, order_id, params)

@spec update_order(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update an order.

update_payment(client, payment_id, params)

@spec update_payment(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a payment.

update_payment_device(client, device_id, params)

@spec update_payment_device(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a payment device.

update_payment_link(client, link_id, params)

@spec update_payment_link(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a payment link.

update_plan(client, plan_id, params)

@spec update_plan(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a plan.

update_refund(client, refund_id, params)

@spec update_refund(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a refund.

update_sku(client, sku_id, params)

@spec update_sku(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a SKU.

update_subscription(client, sub_id, params)

@spec update_subscription(Rapyd.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a subscription.

update_subscription_item(client, sub_id, item_id, params)

@spec update_subscription_item(Rapyd.Client.t(), String.t(), String.t(), map()) ::
  {:ok, map()} | {:error, Rapyd.Error.t()}

Update a subscription item.