Money In

using DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn;

DeletePaymentMethod

public class DeletePaymentMethod : IHook<DeletePaymentMethodHookRequest, DeletePaymentMethodHookResponse>
    {
        public DeletePaymentMethod() { }

        public DeletePaymentMethodHookResponse Invoke(DeletePaymentMethodHookRequest request, Func<DeletePaymentMethodHookRequest, DeletePaymentMethodHookResponse> func)
        {
            return func(request);
        }
    }
services.AddTransient<IHook<DeletePaymentMethodHookRequest, DeletePaymentMethodHookResponse>, DeletePaymentMethod>();
{
  "AssociateId": 0,
  "MerchantId": 0,
  "PaymentMethodId": "string"
}
{
  "Message": "string"
}


Nexio (Envio) Hooks

using DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Emvio;

The following Hook is for Nexio (formally Envio) Payment Provider only.


ModifyTransaction

public class ModifyTransaction : IHook<ModifyTransactionHookRequest, ModifyTransactionHookResponse>
    {
        public ModifyTransaction() { }

        public ModifyTransactionHookResponse Invoke(ModifyTransactionHookRequest request, Func<ModifyTransactionHookRequest, ModifyTransactionHookResponse> func)
        {
            return func(request);
        }
    }
services.AddTransient<IHook<ModifyTransactionHookRequest, ModifyTransactionHookResponse>, ModifyTransaction>();
{
  "Options": {
    "CheckFraud": false,
    "VerifyCvc": false,
    "VerifyAvs": 0,
    "MerchantId": "string",
    "PaymentOptionTag": "string"
  },
  "Order": {
    "BackofficeId": "string",
    "LastModifiedDate": "0001-01-01T00:00:00",
    "BillPhone": "string",
    "CommissionDate": "0001-01-01T00:00:00",
    "AssociateId": 0,
    "Email": "string",
    "InvoiceDate": "0001-01-01T00:00:00",
    "LocalInvoiceNumber": 0,
    "Name": "string",
    "OrderDate": "0001-01-01T00:00:00",
    "OrderType": 0,
    "OrderNumber": 0,
    "SpecialInstructions": "string",
    "Status": "string",
    "TotalBonus": 0.0,
    "TotalCost": 0.0,
    "TotalCV": 0.0,
    "TotalQV": 0.0,
    "Void": false,
    "BillAddress": {
      "Id": 0,
      "AddressLine1": "string",
      "AddressLine2": "string",
      "AddressLine3": "string",
      "City": "string",
      "State": "string",
      "PostalCode": "string",
      "CountryCode": "string"
    },
    "PartyId": 0,
    "IsPaid": false,
    "IsShipped": false,
    "Custom": {
      "Field1": "string",
      "Field2": "string",
      "Field3": "string",
      "Field4": "string",
      "Field5": "string"
    },
    "CanRerun": false,
    "LineItems": [],
    "Packages": [],
    "Totals": [],
    "Payments": [],
    "OrderCoupons": [],
    "USDSubTotal": 0.0,
    "USDTotal": 0.0,
    "IsMoveable": {
      "IsOrderMovable": false,
      "MessageType": 0,
      "Message": "string"
    }
  },
  "Payment": {
    "Input1": "string",
    "Input2": "string",
    "Last4": "string",
    "CardType": "string",
    "InputMonth": 1,
    "InputYear": 1900,
    "SecurityCode": "string",
    "Address": {
      "Id": 0,
      "AddressLine1": "string",
      "AddressLine2": "string",
      "AddressLine3": "string",
      "City": "string",
      "State": "string",
      "PostalCode": "string",
      "CountryCode": "string"
    },
    "MerchantId": 0,
    "Amount": 0.0,
    "CurrencyCode": "string",
    "OrderPaymentId": 0,
    "RedirectUrl": "string",
    "PaymentMethodId": "string",
    "ProfileType": 0,
    "FraudPreventionData": {
      "FraudPreventionId": "string",
      "FraudPreventionProviderId": "string",
      "FraudPreventionType": 0,
      "IpAddress": "string"
    },
    "ExpireDate": "0001-01-01T00:00:00"
  }
}
{
  "ProcessingOptions": {
    "CheckFraud": false,
    "VerifyCvc": false,
    "VerifyAvs": 0,
    "MerchantId": "string",
    "PaymentOptionTag": "string"
  }
}


Hyperwallet Hooks

using DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Hyperwallet;

The following Hook is for Hyperwallet Payment Provider only.


GetProgramToken

public class GetProgramToken : IHook<GetProgramTokenHookRequest, GetProgramTokenHookResponse>
    {
        public GetProgramToken() { }

        public GetProgramTokenHookResponse Invoke(GetProgramTokenHookRequest request, Func<GetProgramTokenHookRequest, GetProgramTokenHookResponse> func)
        {
            return func(request);
        }
    }
services.AddTransient<IHook<GetProgramTokenHookRequest, GetProgramTokenHookResponse>, GetProgramToken>();
{
  "Region": "string",
  "Action": 0
}
{
  "ProgramToken": "string"
}