Packages

An elixir client for MangoPay API.

Current section

Files

Jump to
mangopay lib mango_pay refund.ex
Raw

lib/mango_pay/refund.ex

defmodule MangoPay.Refund do
@moduledoc """
Functions for MangoPay [refund](https://docs.mangopay.com/endpoints/v2.01/refunds#e316_the-refund-object).
"""
use MangoPay.Query.Base
set_path "refunds"
@doc """
Get a refund.
## Examples
{:ok, refund} = MangoPay.Refund.get(id)
"""
def get id do
_get id
end
@doc """
Get a refund.
## Examples
refund = MangoPay.Refund.get!(id)
"""
def get! id do
_get! id
end
defmodule PayIn do
@moduledoc """
Functions for MangoPay [refund](https://docs.mangopay.com/endpoints/v2.01/refunds#e316_the-refund-object).
"""
use MangoPay.Query.Base, "refunds"
@doc """
Create a refund for a pay in.
## Examples
pay_in_id = Id of a transfer
params = %{
"Tag": "custom meta",
"AuthorId": "8494514",
"DebitedFunds": %{
"Currency": "EUR",
"Amount": 12
},
"Fees": %{
"Currency": "EUR",
"Amount": 12
}
}
{:ok, refund} = MangoPay.Refund.PayIn.create(pay_in_id, params)
"""
def create pay_in_id, params do
_create params, [MangoPay.PayIn.path(pay_in_id), resource()]
end
@doc """
Create a refund for a pay in.
## Examples
pay_in_id = Id of a transfer
params = %{
"Tag": "custom meta",
"AuthorId": "8494514",
"DebitedFunds": %{
"Currency": "EUR",
"Amount": 12
},
"Fees": %{
"Currency": "EUR",
"Amount": 12
}
}
refund = MangoPay.Refund.PayIn.create(pay_in_id, params)
"""
def create! pay_in_id, params do
_create! params, [MangoPay.PayIn.path(pay_in_id), resource()]
end
end
defmodule Transfer do
@moduledoc """
Functions for MangoPay [refund](https://docs.mangopay.com/endpoints/v2.01/refunds#e316_the-refund-object).
"""
use MangoPay.Query.Base, "refunds"
@doc """
Create a refund for a transfer.
## Examples
transfer_id = Id of a transfer
params = %{
"Tag": "custom meta",
"AuthorId": "8494514"
}
{:ok, refund} = MangoPay.Refund.Transfer.create(transfer_id, params)
"""
def create transfer_id, params do
_create params, [MangoPay.Transfer.path(transfer_id), resource()]
end
@doc """
Create a refund for a transfer.
## Examples
transfer_id = Id of a transfer
params = %{
"Tag": "custom meta",
"AuthorId": "8494514"
}
refund = MangoPay.Refund.Transfer.create!(transfer_id, params)
"""
def create! transfer_id, params do
_create! params, [MangoPay.Transfer.path(transfer_id), resource()]
end
end
@doc """
List all refund by pay out.
## Examples
pay_out_id = Id of a transfer
query = %{
"Page": 1,
"Per_Page": 25,
"Sort": "CreationDate:DESC",
"Status": "CREATED,FAILED",
"ResultCode": "000000,009199"
}
{:ok, refund} = MangoPay.Refund.all_by_pay_out(pay_out_id, query)
"""
def all_by_pay_out id, query \\ %{} do
_all [MangoPay.PayOut.path(id), resource()], query
end
@doc """
List all refund by pay out.
## Examples
pay_out_id = Id of a transfer
query = %{
"Page": 1,
"Per_Page": 25,
"Sort": "CreationDate:DESC",
"Status": "CREATED,FAILED",
"ResultCode": "000000,009199"
}
refund = MangoPay.Refund.all_by_pay_out!(pay_out_id, query)
"""
def all_by_pay_out! id, query \\ %{} do
_all! [MangoPay.PayOut.path(id), resource()], query
end
@doc """
List all refunds by pay in.
## Examples
pay_in_id = Id of a transfer
query = %{
"Page": 1,
"Per_Page": 25,
"Sort": "CreationDate:DESC",
"Status": "CREATED,FAILED",
"ResultCode": "000000,009199"
}
{:ok, refunds} = MangoPay.Refund.all_by_pay_in(pay_in_id, query)
"""
def all_by_pay_in id, query \\ %{} do
_all [MangoPay.PayIn.path(id), resource()], query
end
@doc """
List all refunds by pay in.
## Examples
pay_in_id = Id of a transfer
query = %{
"Page": 1,
"Per_Page": 25,
"Sort": "CreationDate:DESC",
"Status": "CREATED,FAILED",
"ResultCode": "000000,009199"
}
refunds = MangoPay.Refund.all_by_pay_in!(pay_in_id, query)
"""
def all_by_pay_in! id, query \\ %{} do
_all! [MangoPay.PayIn.path(id), resource()], query
end
@doc """
List all refunds by transfer.
## Examples
transfer_id = Id of a transfer
query = %{
"Page": 1,
"Per_Page": 25,
"Sort": "CreationDate:DESC",
"Status": "CREATED,FAILED",
"ResultCode": "000000,009199"
}
{:ok, refunds} = MangoPay.Refund.all_by_transfer(transfer_id, query)
"""
def all_by_transfer id, query \\ %{} do
_all [MangoPay.Transfer.path(id), resource()], query
end
@doc """
List all refunds by transfer.
## Examples
transfer_id = Id of a transfer
query = %{
"Page": 1,
"Per_Page": 25,
"Sort": "CreationDate:DESC",
"Status": "CREATED,FAILED",
"ResultCode": "000000,009199"
}
refunds = MangoPay.Refund.all_by_transfer!(transfer_id, query)
"""
def all_by_transfer! id, query \\ %{} do
_all! [MangoPay.Transfer.path(id), resource()], query
end
@doc """
List all refunds by repudiation.
## Examples
repudiation_id = Id of a repudiation
query = %{
"Page": 1,
"Per_Page": 25,
"Sort": "CreationDate:DESC",
"Status": "CREATED,FAILED",
"ResultCode": "000000,009199"
}
{:ok, refunds} = MangoPay.Refund.all_by_repudiation(repudiation_id, query)
"""
def all_by_repudiation id, query \\ %{} do
_all [MangoPay.Repudiation.path(id), resource()], query
end
@doc """
List all refunds by repudiation.
## Examples
repudiation_id = Id of a repudiation
query = %{
"Page": 1,
"Per_Page": 25,
"Sort": "CreationDate:DESC",
"Status": "CREATED,FAILED",
"ResultCode": "000000,009199"
}
refunds = MangoPay.Refund.all_by_repudiation!(repudiation_id, query)
"""
def all_by_repudiation! id, query \\ %{} do
_all! [MangoPay.Repudiation.path(id), resource()], query
end
end