Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1.2.1 Service Initiation Consent Types

The TPP MUST specify a Service Initiation consent type as one of these:

  • UAEOF.SingleInstantPayment

  • UAEOF.SingleFutureDatedPayment

  • UAEOF.FixedRecurringPayment

  • UAEOF.FixedOnDemandPayment

  • UAEOF.VariableRecurringPayment

  • UAEOF.VariableOnDemandPayment

  • UAEOF.VariableDefinedPayment

The OFP MUST link both PaymentId and ConsentId:

...

Code Block
languagebash
POST /open-finance/payment/2024v1.03.110-draft1draft2/payments HTTP/1.1
Host: rs1.openfinanceplatform.ae
Content-Type: application/jwt
Accept: application/jwt
x-fapi-interaction-id: 942a7ee7-d29a-45aa-93b7-c5f292d86602
x-idempotency-key: 78dae4513b8847f98e2d4173b4ed0eb6
Authorization: Bearer caa1b60d-61ff-4cd8-a4e1-2d18c8696de0
{
  "alg": "PS256",
  "kid": "e1be6bf3-76e6-4e53-92b9-c46423757ab1"
}
.
{
  "iss": "string",
  "exp": 0.5,
  "nbf": 0.5,
  "aud": [
    "string"
  ],
  "iat": 0.5,
  "message": {
    "Data": {
      "ConsentId": "aac-69255d98-ab0e-4758-92a7-cacbf3073efa",
      "Type": "UAEOF.FixedRecurringPayment",
      "Instruction": {
        "Amount": {
          "Amount": "100.00",
          "Currency": "AED"
        },
        "BeneficiaryReference": "string",
        "PaymentSequenceNumber": "1"
      },
      "PaymentPurposeCode": "ABCD",
      "PayerReference": "string"
    }
  }
}
.
<<signature>>

...

Code Block
languagebash
HTTP/1.1 201 Created
Content-Type: application/jwt
x-fapi-interaction-id: 942a7ee7-d29a-45aa-93b7-c5f292d86602
{
  "alg": "PS256",
  "kid": "e1be6bf3-76e6-4e53-92b9-c46423757ab1"
}
.
{
  "iss": "string",
  "exp": 0.5,
  "nbf": 0.5,
  "aud": [
    "string"
  ],
  "iat": 0.5,
  "message": {
    "Data": {
      "PaymentId": "83b47199-90c2-4c05-9ef1-aeae68b0fc7c",
      "ConsentId": "aac-69255d98-ab0e-4758-92a7-cacbf3073efa",
      "Type": "UAEOF.FixedRecurringPayment",
      "PaymentTransactionId": "string",
      "PaymentStatus": "Pending",
      "PaymentStatusUpdateDateTime": "2023-10-01T00:00:00.000Z",
      "CreationDateTime": "2023-10-01T00:00:00.000Z",
      "DebtorCharges": [
        {
          "Type": "VAT",
          "Amount": {
            "Amount": "100.00",
            "Currency": "AED"
          }
        }
      ],
      "Instruction": {
        "Amount": {
          "Amount": "100.00",
          "Currency": "AED"
        },
        "BeneficiaryReference": "string",
        "PaymentSequenceNumber": "1"
      },
      "PaymentPurposeCode": "ABCD",
      "PayerReference": "string"
    },
    "Links": {
      "Self": "/payments/83b47199-90c2-4c05-9ef1-aeae68b0fc7c",
      "Related": "/payment-consents/aac-69255d98-ab0e-4758-92a7-cacbf3073efa"
    },
    "Meta": {}
  }
}
.
<<signature>>

...

Code Block
languagebash
GET /open-finance/payment/2024v1.03.110-draft1draft2/payments/83b47199-90c2-4c05-9ef1-aeae68b0fc7c HTTP/1.1
Host: rs1.openfinanceplatform.ae
Accept: application/jwt
x-fapi-interaction-id: 942a7ee7-d29a-45aa-93b7-c5f292d86602
Authorization: Bearer ad297304-1057-4c68-9e76-a96f300a27f1

...

Code Block
languagebash
HTTP/1.1 200 OK
Content-Type: application/jwt
x-fapi-interaction-id: 942a7ee7-d29a-45aa-93b7-c5f292d86602
{
  "alg": "PS256",
  "kid": "e1be6bf3-76e6-4e53-92b9-c46423757ab1"
}
.
{
  "iss": "string",
  "exp": 0.5,
  "nbf": 0.5,
  "aud": [
    "string"
  ],
  "iat": 0.5,
  "message": {
    "Data": {
      "PaymentId": "83b47199-90c2-4c05-9ef1-aeae68b0fc7c",
      "ConsentId": "aac-69255d98-ab0e-4758-92a7-cacbf3073efa",
      "TypePaymentTransactionId": "UAEOF.FixedRecurringPaymentstring",
      "PaymentTransactionIdPaymentStatus": "string",
      "PaymentStatus": "PendingPending",
      "PaymentStatusUpdateDateTime": "2023-10-01T00:00:00.000Z",
      "CreationDateTime": "2023-10-01T00:00:00.000Z",
      "DebtorCharges": [
        {
          "Type": "VAT",
          "Amount": {
            "Amount": "100.00",
            "Currency": "AED"
          }
        }
      ],
      "Instruction": {
        "Amount": {
          "Amount": "100.00",
          "Currency": "AED"
        },
        "BeneficiaryReference": "string",
        "PaymentSequenceNumber": "1"
      },
      "PaymentPurposeCode": "ABCD",
      "PayerReference": "string"
    },
    "Links": {
      "Self": "/payments/83b47199-90c2-4c05-9ef1-aeae68b0fc7c",
      "Related": "/payment-consents/aac-69255d98-ab0e-4758-92a7-cacbf3073efa"
    },
    "Meta": {}
  }
}
.
<<signature>>

...

Code Block
languagebash
GET /open-finance/payment/2024v1.03.110-draft1draft2/payments/83b47199-90c2-4c05-9ef1-aeae68b0fc7c HTTP/1.1
Host: rs1.openfinanceplatform.ae
Accept: application/jwt
x-fapi-interaction-id: 942a7ee7-d29a-45aa-93b7-c5f292d86602
Authorization: Bearer ad297304-1057-4c68-9e76-a96f300a27f1

...

Code Block
languagebash
PATCH /open-finance/payment/2024v1.03.110-draft1draft2/payment-consents/aac-69255d98-ab0e-4758-92a7-cacbf3073efa HTTP/1.1
Host: rs1.lab.api.openbanking.ae
Content-Type: application/jwt
Accept: application/jwt
x-fapi-interaction-id: 3424a379-8274-4686-99bd-f420d08acead
Authorization: Bearer ad297304-1057-4c68-9e76-a96f300a27f1
{
  "alg": "PS256",
  "kid": "e1be6bf3-76e6-4e53-92b9-c46423757ab1"
}
.
{
  "iss": "string",
  "exp": 0,
  "nbf": 0,
  "aud": [
    "string"
  ],
  "iat": 0,
  "message": {
    "Subscription": {
      "Webhook": {
        "IsActive": true
      }
    }
  }
}
.
<<signature>>

...

Code Block
languagebash
PATCH /open-finance/payment/2024v1.03.110-draft1draft2/payment-consents/aac-69255d98-ab0e-4758-92a7-cacbf3073efa HTTP/1.1
Host: rs1.lab.api.openbanking.ae
Content-Type: application/jwt
x-fapi-interaction-id: 3424a379-8274-4686-99bd-f420d08acead
Authorization: Bearer ad297304-1057-4c68-9e76-a96f300a27f1
{
  "alg": "PS256",
  "kid": "e1be6bf3-76e6-4e53-92b9-c46423757ab1"
}
.
{
  "iss": "string",
  "exp": 0,
  "nbf": 0,
  "aud": [
    "string"
  ],
  "iat": 0,
  "message": {
    "Subscription": {
      "Webhook": {
        "IsActive": false
      }
    }
  }
}
.
<<signature>>

...

Code Block
languagebash
HEAD /open-finance/payment/2024v1.03.110-draft1draft2/payments HTTP/1.1
Host: rs1.lab.api.openbanking.ae
Accept: application/jwt
x-fapi-interaction-id: 942a7ee7-d29a-45aa-93b7-c5f292d86602
Authorization: Bearer ad297304-1057-4c68-9e76-a96f300a27f1
x-idempotency-key: 78dae4513b8847f98e2d4173b4ed0eb6

...

Code Block
languagebash
HTTP/1.1 204 No Content
x-fapi-interaction-id: 3424a379-8274-4686-99bd-f420d08acead
Location: /open-finance/payment/2024v1.03.110-draft1draft2/payments/83b47199-90c2-4c05-9ef1-aeae68b0fc7c

...

6.1 Staging a Service Initiation Consent

...

To manage the creation and execution of a Single Instant payment;

The TPP:

  • MUST provide a ConsentId in the Consent object within the authorization_details of a Rich Authorization Request.

  • MAY use PATCH to manage any Webhook configurations for the entire duration of a payment consent

  • MAY use a GET to the /payments/{PaymentId} resource to poll for Payment Statuses.

...

  • MUST reject the Service Initiation consent if a globally unique UUID v4 ConsentId does not exist in the RAR object.

  • MUST validate the Consent parameters and create a Consent resource (ConsentId) that is AwaitingAuthorization when a valid RAR object is staged at the PAR endpoint.

  • MUST immediately stage the payment with the LFI once a valid Service Initiation resource is created by the TPP.

  • MUST send payment status events to the TPP if an active Webhook Subscription is registered within the Consent object.

The LFI:

  • MUST immediately stage the payment with the Payment Rails once a valid payment is staged by the OFP.

  • MUST emit payment status events to the OFP.

6.1.2 Single Future Dated, Multi-Payment

For Single Future Dated and Multi-Payment Consents:

The TPP:

  • MUST provide an ConsentId in the Consent object within the authorization_details of a Rich Authorization Request.

  • MAY use PATCH to manage any Webhook configurations for the entire duration of a payment consent

...

  • MUST validate the Consent parameters and create a Consent resource (ConsentId) that is AwaitingAuthorization when a valid RAR object is staged at the PAR endpoint.

  • MUST immediately stage the payment with the LFI once a valid Service Initiation resource is created by the TPP.

  • MUST send payment status events to the TPP if an active Webhook Subscription is registered within the Consent object.

...