Skip to content

Add FAMILY_SUPPORT and SALARY_PAYMENT to PurposeOfPayment#592

Merged
mohamedwane merged 1 commit into
mainfrom
mohamed/purpose-add-family-salary
Jun 17, 2026
Merged

Add FAMILY_SUPPORT and SALARY_PAYMENT to PurposeOfPayment#592
mohamedwane merged 1 commit into
mainfrom
mohamed/purpose-add-family-salary

Conversation

@mohamedwane

Copy link
Copy Markdown
Contributor

Adds FAMILY_SUPPORT and SALARY_PAYMENT to the PurposeOfPayment enum.

Thunes corridors require these and the enum can't express them today: WeChatPay C2C accepts only FAMILY_SUPPORT/SALARY_PAYMENT, and AliPay B2C accepts SALARY_PAYMENT. Without them, the sparkcore purpose mapping normalizes these to OTHER and the payout is declined (DECLINED-INVALID-PURPOSE-OF-REMITTANCE). sparkcore enum + mapping follow once this merges.

Thunes corridors require these purposes that the enum couldn't express:
WeChatPay C2C accepts only FAMILY_SUPPORT/SALARY_PAYMENT, and AliPay B2C
accepts SALARY_PAYMENT — without these, those purposes normalize to OTHER
and the payout is declined (DECLINED-INVALID-PURPOSE-OF-REMITTANCE).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
grid-flow-builder Ignored Ignored Jun 16, 2026 10:47pm

Request Review

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds for grid

This PR will update the grid SDKs with the following commit messages.

cli

chore(internal): regenerate SDK with no functional changes

csharp

feat(api): add FamilySupport and SalaryPayment to PurposeOfPayment enum in quotes

go

feat(api): add family_support and salary_payment enum values to quote request param

kotlin

feat(api): add family_support/salary_payment values to quote request purpose enum

openapi

feat(api): add FAMILY_SUPPORT and SALARY_PAYMENT payment category enum values

php

feat(api): add FAMILY_SUPPORT and SALARY_PAYMENT to quotes PurposeOfPayment enum

python

feat(api): add FAMILY_SUPPORT/SALARY_PAYMENT payment purposes to quotes

ruby

feat(api): add family_support/salary_payment to quote_request purpose_of_payment

typescript

feat(api): add FAMILY_SUPPORT and SALARY_PAYMENT to quotes purpose field
grid-openapi studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅

grid-ruby studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅build ✅lint ✅test ✅

⚠️ grid-go studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ✅build ✅lint ❗test ❗

go get github.com/stainless-sdks/grid-go@72524fded9adabb620b4466cba32dbc4f9836ccd
grid-kotlin studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅build ✅lint ✅test ✅

⚠️ grid-python studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ✅build ✅lint ❗test ❗

pip install https://pkg.stainless.com/s/grid-python/9b64fe205f011d745c5e49d62f1432ecab5965a8/grid-0.0.1-py3-none-any.whl
⚠️ grid-csharp studio · code

Your SDK build had a failure in the build CI job, which is a regression from the base state.
generate ⚠️build ❗lint ✅test ❗

grid-php studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅lint ✅test ✅

grid-typescript studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/2a7f1a0c2af396917dcf265ffbef6f69408595ce/dist.tar.gz
⚠️ grid-cli studio · code

Your SDK build had a failure in the test CI job, which is a regression from the base state.
generate ⚠️build ⏭️lint ⏭️test ❗


This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-06-17 21:48:02 UTC

@greptile-apps

greptile-apps Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds FAMILY_SUPPORT and SALARY_PAYMENT to the PurposeOfPayment enum to unblock Thunes corridors (WeChatPay C2C and AliPay B2C) that require these specific values. The source schema is correctly edited in openapi/components/schemas/quotes/PurposeOfPayment.yaml and both generated bundles are updated consistently.

  • openapi/components/schemas/quotes/PurposeOfPayment.yaml — source of truth updated with the two new enum values inserted before OTHER.
  • openapi.yaml and mintlify/openapi.yaml — generated bundles updated in lockstep, consistent with running make build.

Confidence Score: 5/5

Safe to merge — a minimal, additive enum extension with no breaking changes and consistent updates across all three files.

The change is purely additive: two new string values are appended to an existing enum before the catch-all OTHER. The source schema in openapi/ was edited correctly, and both generated bundles (openapi.yaml, mintlify/openapi.yaml) reflect exactly the same additions, consistent with having run make build. No existing enum values are modified or removed, so no consumers are broken.

No files require special attention.

Important Files Changed

Filename Overview
openapi/components/schemas/quotes/PurposeOfPayment.yaml Source enum schema — adds FAMILY_SUPPORT and SALARY_PAYMENT before OTHER; correct place to edit per repo conventions.
openapi.yaml Generated bundle — change is consistent with source; correctly regenerated via make build.
mintlify/openapi.yaml Mintlify generated bundle — mirrors the same two enum additions; consistent with source and root bundle.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Client sets PurposeOfPayment] --> B{Enum value?}
    B --> C[GIFT / SELF / EDUCATION\nGOODS_OR_SERVICES / etc.]
    B --> D[FAMILY_SUPPORT NEW]
    B --> E[SALARY_PAYMENT NEW]
    B --> F[OTHER]
    C --> G[Standard corridor routing]
    D --> H[WeChatPay C2C accepted by Thunes]
    E --> I[AliPay B2C / WeChatPay C2C accepted by Thunes]
    F --> J[Previously: Thunes values normalized to OTHER → DECLINED-INVALID-PURPOSE-OF-REMITTANCE]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[Client sets PurposeOfPayment] --> B{Enum value?}
    B --> C[GIFT / SELF / EDUCATION\nGOODS_OR_SERVICES / etc.]
    B --> D[FAMILY_SUPPORT NEW]
    B --> E[SALARY_PAYMENT NEW]
    B --> F[OTHER]
    C --> G[Standard corridor routing]
    D --> H[WeChatPay C2C accepted by Thunes]
    E --> I[AliPay B2C / WeChatPay C2C accepted by Thunes]
    F --> J[Previously: Thunes values normalized to OTHER → DECLINED-INVALID-PURPOSE-OF-REMITTANCE]
Loading

Reviews (1): Last reviewed commit: "Add FAMILY_SUPPORT and SALARY_PAYMENT to..." | Re-trigger Greptile

@mohamedwane mohamedwane enabled auto-merge (squash) June 16, 2026 22:50
@mohamedwane mohamedwane merged commit 460f14d into main Jun 17, 2026
9 checks passed
@mohamedwane mohamedwane deleted the mohamed/purpose-add-family-salary branch June 17, 2026 21:40
pengying pushed a commit that referenced this pull request Jun 18, 2026
## Summary
- Added `FAMILY_SUPPORT` and `SALARY_PAYMENT` to the documented purpose of payment codes in the cross-currency transfers guide

These values were added to the OpenAPI schema in PR #592 (commit 460f14d) but the Mintlify documentation wasn't updated.

## Changes
**Documentation (mintlify/):**
- `mintlify/snippets/sending/cross-currency.mdx` - Added missing purpose of payment codes to match the schema

## Not updated (no changes needed)
- **Contact verification endpoints** (PR #557): Already documented in `mintlify/snippets/kyc/kyc-unregulated.mdx`
- **Stablecoin provider accounts** (PR #594): New API surface - not referenced in existing guides
- **Kotlin sample app**: Uses SDK factory method for PurposeOfPayment which auto-supports new values
- **Grid Visualizer**: Uses `'GIFT'` as example value which remains valid

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.

2 participants