Skip to content

Conversation

melissahenderson
Copy link
Contributor

@melissahenderson melissahenderson commented Sep 5, 2025

Description of changes

Required

  • Used LinkOut component on external links
  • Reviewed Vale errors and made changes where appropriate - NA
  • Ran Prettier
  • Previewed updates in Netlify
  • Received SME and/or peer approval if updates are significant
  • Included a "fixes #" comment - NA

Conditional

  • Ensured sequence diagrams follow our style guide
  • Included code samples where appropriate
  • Updated related READMEs - NA

Copy link

netlify bot commented Sep 5, 2025

Deploy Preview for openpayments-preview ready!

Name Link
🔨 Latest commit 1d120b3
🔍 Latest deploy log https://app.netlify.com/projects/openpayments-preview/deploys/68bec1dad8112600083ef5b4
😎 Deploy Preview https://deploy-preview-678--openpayments-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

I suspect the issues are due to a combo of "it" not liking lists beginning with the linkout component and Blair's change to prettier yesterday
@melissahenderson melissahenderson marked this pull request as ready for review September 5, 2025 15:31
@melissahenderson melissahenderson requested review from JoblersTune and Anca2022 and removed request for hajjimo and brad-dow September 5, 2025 15:31
Copy link

@marianvilla marianvilla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quote -> Cotización

In the code, this is referred to as quote. While the term is in English, it represents a "cotización." To avoid confusion, it’s important to clarify in the documentation that a quote means a cotización.

@JoblersTune
Copy link
Contributor

Could we get the landing page translated too? To get a better first impression? docs/src/content/docs/index.mdx


En Open Payments, se exige que las solicitudes de concesiones de autorización para los pagos salientes sean interactivas. Esto significa que la interacción explícita de una persona (por lo general, el usuario del cliente) es un paso obligatorio en el proceso de delegación.

Luego de una interacción correcta, el cliente debe emitir una [solicitud de continuación de la concesión de autorización](/apis/auth-server/operations/post-continue), para que el servidor de autorización sepa que debe emitir un token de acceso.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Luego de una interacción correcta, el cliente debe emitir una [solicitud de continuación de la concesión de autorización](/apis/auth-server/operations/post-continue), para que el servidor de autorización sepa que debe emitir un token de acceso.
Luego de una interacción correcta, el cliente debe emitir una [solicitud de continuación de la concesión de autorización](/es/apis/auth-server/operations/post-continue), para que el servidor de autorización sepa que debe emitir un token de acceso.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JoblersTune I don't think the API specs will ever be translated outside of English. Is it still a good idea to point to a lang folder?


Al configurar un pago, el cliente debe obtener la dirección de billetera tanto del remitente como del destinatario. Dado que el remitente, por lo general, es el usuario del cliente, el cliente puede obtener su dirección de billetera, por ejemplo, durante el proceso de incorporación. La entidad que administra la cuenta (account servicing entity, ASE) debe autenticar al remitente para concederle el permiso que necesita para acceder a su cuenta compatible con Open Payments.

Un servidor de direcciones de billetera es el punto final de una API que recupera información pública sobre una dirección de billetera, lo que incluye sus claves públicas asociadas. Para obtener más información técnica, visite los [documentos de la API del servidor de direcciones de billetera](/apis/wallet-address-server/operations/get-wallet-address/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Un servidor de direcciones de billetera es el punto final de una API que recupera información pública sobre una dirección de billetera, lo que incluye sus claves públicas asociadas. Para obtener más información técnica, visite los [documentos de la API del servidor de direcciones de billetera](/apis/wallet-address-server/operations/get-wallet-address/).
Un servidor de direcciones de billetera es el punto final de una API que recupera información pública sobre una dirección de billetera, lo que incluye sus claves públicas asociadas. Para obtener más información técnica, visite los [documentos de la API del servidor de direcciones de billetera](/es/apis/wallet-address-server/operations/get-wallet-address/).


### 1. Obtener los datos de la dirección de billetera

Supongamos que su usuario guardó su dirección de billetera en el perfil de su cuenta al configurar la aplicación. Llame a la [API Obtener dirección de billetera](/apis/wallet-address-server/operations/get-wallet-address) para obtener los datos necesarios sobre la cuenta de la billetera del usuario.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Supongamos que su usuario guardó su dirección de billetera en el perfil de su cuenta al configurar la aplicación. Llame a la [API Obtener dirección de billetera](/apis/wallet-address-server/operations/get-wallet-address) para obtener los datos necesarios sobre la cuenta de la billetera del usuario.
Supongamos que su usuario guardó su dirección de billetera en el perfil de su cuenta al configurar la aplicación. Llame a la [API Obtener dirección de billetera](/es/apis/wallet-address-server/operations/get-wallet-address) para obtener los datos necesarios sobre la cuenta de la billetera del usuario.


### 2. Solicitar una concesión de autorización interactiva para un pago saliente

Utilice la información del servidor de autorización recibida en el paso anterior para llamar a la [API Solicitud de concesión](/apis/auth-server/operations/post-request). El propósito de esta llamada consiste en obtener un token que permita que el cliente solicite la creación de recursos de pago saliente en la cuenta de la billetera de su usuario.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Utilice la información del servidor de autorización recibida en el paso anterior para llamar a la [API Solicitud de concesión](/apis/auth-server/operations/post-request). El propósito de esta llamada consiste en obtener un token que permita que el cliente solicite la creación de recursos de pago saliente en la cuenta de la billetera de su usuario.
Utilice la información del servidor de autorización recibida en el paso anterior para llamar a la [API Solicitud de concesión](/es/apis/auth-server/operations/post-request). El propósito de esta llamada consiste en obtener un token que permita que el cliente solicite la creación de recursos de pago saliente en la cuenta de la billetera de su usuario.


### 6. Solicitar una concesión de autorización interactiva para un pago saliente

Utilice la información del consumidor `authServer` recibida en el paso 1 para llamar a la [API Solicitud de concesión](/apis/auth-server/operations/post-request).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Utilice la información del consumidor `authServer` recibida en el paso 1 para llamar a la [API Solicitud de concesión](/apis/auth-server/operations/post-request).
Utilice la información del consumidor `authServer` recibida en el paso 1 para llamar a la [API Solicitud de concesión](/es/apis/auth-server/operations/post-request).

En una situación hipotética donde una interfaz de usuario no se encuentra disponible, analice la posibilidad de implementar un mecanismo de sondeo para verificar que se haya completado la interacción.
:::

Llame a la [API Continuación de solicitud de concesión](/apis/auth-server/operations/post-continue). El propósito de esta llamada consiste en solicitar un token de acceso que permita a su plataforma solicitar la creación de recursos de pago saliente en la cuenta de la billetera del consumidor.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Llame a la [API Continuación de solicitud de concesión](/apis/auth-server/operations/post-continue). El propósito de esta llamada consiste en solicitar un token de acceso que permita a su plataforma solicitar la creación de recursos de pago saliente en la cuenta de la billetera del consumidor.
Llame a la [API Continuación de solicitud de concesión](/es/apis/auth-server/operations/post-continue). El propósito de esta llamada consiste en solicitar un token de acceso que permita a su plataforma solicitar la creación de recursos de pago saliente en la cuenta de la billetera del consumidor.


Dado que las cotizaciones contienen los montos por debitar y recibir, no especificaremos otros montos al realizar una solicitud a la API Crear pago saliente. En su lugar, especificaremos un `quoteId`.

Utilice los tókenes de acceso devueltos en el paso 5 para llamar a la [API Crear pago saliente](/apis/resource-server/operations/create-outgoing-payment).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Utilice los tókenes de acceso devueltos en el paso 5 para llamar a la [API Crear pago saliente](/apis/resource-server/operations/create-outgoing-payment).
Utilice los tókenes de acceso devueltos en el paso 5 para llamar a la [API Crear pago saliente](/es/apis/resource-server/operations/create-outgoing-payment).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can keep the APIs in the Spanish navigation like so:

starlightOpenAPI([
          {
            base: 'apis/resource-server',
            schema:
              '../open-payments-specifications/openapi/resource-server.yaml',
            sidebar: { label: 'Open Payments' }
          },
          {
            base: 'es/apis/resource-server',
            schema:
              '../open-payments-specifications/openapi/resource-server.yaml',
            sidebar: { label: 'Open Payments' }
          },
          {
            base: 'apis/wallet-address-server',
            schema:
              '../open-payments-specifications/openapi/wallet-address-server.yaml',
            sidebar: { label: 'Wallet Addresses' }
          },
          {
            base: 'es/apis/wallet-address-server',
            schema:
              '../open-payments-specifications/openapi/wallet-address-server.yaml',
            sidebar: { label: 'Wallet Addresses' }
          },
          {
            base: 'apis/auth-server',
            schema: '../open-payments-specifications/openapi/auth-server.yaml',
            sidebar: { label: 'Open Payments Authorization Server' }
          },
          {
            base: 'es/apis/auth-server',
            schema: '../open-payments-specifications/openapi/auth-server.yaml',
            sidebar: { label: 'Open Payments Authorization Server' }
          }
        ]),

{/* prettier-ignore */}
<Mermaid
graph={`sequenceDiagram autonumber
Cliente->>Servidor de autorización (Authorization server AS): solicitud POST de concesión de autorización (con objeto de interacción)
Copy link
Contributor

@Anca2022 Anca2022 Sep 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Phrases on the diagram should begin with a capital letter for consistency with the other diagrams.


El ejemplo a continuación ilustra cómo crear la firma, comenzando con el mensaje HTTP original.

```http title="Example: message before signature"
Copy link
Contributor

@Anca2022 Anca2022 Sep 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title="Example: message before signature" in spanish


El subcampo final de la base de la firma es un campo estructurado HTTP llamado `signature-params`, que contiene una lista ordenada de los componentes que conforman la base de la firma.

```http wrap title="Example: signature base"
Copy link
Contributor

@Anca2022 Anca2022 Sep 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title="Example: signature base" in spanish


El mensaje original se firma agregando encabezados de firma con etiquetas exclusivas al mensaje original: `Signature-Input` y `Signature`.

```http wrap title="Example: signed message"
Copy link
Contributor

@Anca2022 Anca2022 Sep 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title="Example: signed message" in spanish


El ejemplo a continuación muestra los cuatro componentes mencionados que conforman la base del hash. No se admite relleno ni espacios en blanco antes o después de cada línea, ni un salto de línea adicional al final.

```http title="Example hash base"
Copy link
Contributor

@Anca2022 Anca2022 Sep 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title="Example hash base" in spanish


El ejemplo a continuación muestra cómo verificar en JavaScript el hash recibido del servidor de autorización.

```javascript title='JavaScript example'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title "Javascript example" in spanish


Con el ejemplo de la cadena base de hash mencionado, a continuación se muestra el hash codificado `sha-256` que usa el algoritmo SHA2 de 256 bits.

```http title="SHA2 256-bit hash example"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title="SHA2 256-bit hash example" in spanish

@Anca2022
Copy link
Contributor

Anca2022 commented Sep 8, 2025

Is there a way to translate the titles of code chunks as well? ( /es/guides/make-onetime-payment/ )
P.S. This isn’t related to this PR; the data comes from another repository.
image


## Cómo obtener los datos de la cuenta

Un cliente recupera los datos públicos sobre la cuenta compatible con Open Payments de un destinatario mediante la emisión de una <LinkOut href='/apis/wallet-address-server/operations/get-wallet-address/'>solicitud GET</LinkOut> para la dirección de billetera del destinatario. Los datos incluyen el código y la escala del activo de la cuenta subyacente, así como las URL de los servidores de autorización y de recursos que el cliente necesita para configurar un pago al destinatario.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Un cliente recupera los datos públicos sobre la cuenta compatible con Open Payments de un destinatario mediante la emisión de una <LinkOut href='/apis/wallet-address-server/operations/get-wallet-address/'>solicitud GET</LinkOut> para la dirección de billetera del destinatario. Los datos incluyen el código y la escala del activo de la cuenta subyacente, así como las URL de los servidores de autorización y de recursos que el cliente necesita para configurar un pago al destinatario.
Un cliente recupera los datos públicos sobre la cuenta compatible con Open Payments de un destinatario mediante la emisión de una <LinkOut href='/es/apis/wallet-address-server/operations/get-wallet-address/'>solicitud GET</LinkOut> para la dirección de billetera del destinatario. Los datos incluyen el código y la escala del activo de la cuenta subyacente, así como las URL de los servidores de autorización y de recursos que el cliente necesita para configurar un pago al destinatario.


## Pago entrante

Primero, el cliente <LinkOut href='/apis/auth-server/operations/post-request'>solicita/recibe una concesión de autorización</LinkOut> de parte del servidor de autorización de la <Tooltip content="Entidad que administra la cuenta" client:load>ASE</Tooltip> del destinatario para crear un recurso de `incoming-payment`. El cliente envía una solicitud al servidor de recursos de la ASE para <LinkOut href='/apis/resource-server/operations/create-incoming-payment/'>crear el recurso</LinkOut>. Una vez creado, el servidor de recursos devuelve los datos de pago único que el cliente utilizará para realizar uno o más pagos al destinatario.
Copy link
Contributor

@Anca2022 Anca2022 Sep 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Primero, el cliente <LinkOut href='/apis/auth-server/operations/post-request'>solicita/recibe una concesión de autorización</LinkOut> de parte del servidor de autorización de la <Tooltip content="Entidad que administra la cuenta" client:load>ASE</Tooltip> del destinatario para crear un recurso de `incoming-payment`. El cliente envía una solicitud al servidor de recursos de la ASE para <LinkOut href='/apis/resource-server/operations/create-incoming-payment/'>crear el recurso</LinkOut>. Una vez creado, el servidor de recursos devuelve los datos de pago único que el cliente utilizará para realizar uno o más pagos al destinatario.
Primero, el cliente <LinkOut href='/es/apis/auth-server/operations/post-request'>solicita/recibe una concesión de autorización</LinkOut> de parte del servidor de autorización de la <Tooltip content="Entidad que administra la cuenta" client:load>ASE</Tooltip> del destinatario para crear un recurso de `incoming-payment`. El cliente envía una solicitud al servidor de recursos de la ASE para <LinkOut href='/es/apis/resource-server/operations/create-incoming-payment/'>crear el recurso</LinkOut>. Una vez creado, el servidor de recursos devuelve los datos de pago único que el cliente utilizará para realizar uno o más pagos al destinatario.

}
```

![Create the http signature](/img/4-sig-creation.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the alt text for the image "[Create the http signature]" should be in spanish

@melissahenderson melissahenderson merged commit 4978c92 into main Sep 8, 2025
5 checks passed
@melissahenderson melissahenderson deleted the mh-es branch September 8, 2025 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants