Skip to content

DEV-1920: Update to support Push to Card using exchange-sssions#63

Merged
ShreyaThapa merged 3 commits intomainfrom
DEV-1920
Mar 6, 2026
Merged

DEV-1920: Update to support Push to Card using exchange-sssions#63
ShreyaThapa merged 3 commits intomainfrom
DEV-1920

Conversation

@ShreyaThapa
Copy link
Contributor

Summary

Migrated the Push to Card integration to use Dwolla's Exchange Session API (1API
initiative), eliminating direct Checkout.com API calls and streamlining the
integration flow to work entirely through Dwolla's API.

Key Changes

  • Removed direct Checkout.com API integration: Deleted src/integrations/checkout.ts
    and eliminated server-side Checkout.com credentials (Client ID, Secret Key,
    Processing Channel ID)
  • Added Exchange Session support: Implemented new Dwolla API methods for exchange
    partner retrieval, exchange session creation, and exchange creation
  • Simplified credential management: Only Checkout.com public key is now required
    (client-side only) instead of multiple server-side credentials
  • Updated integration flow:
    • Before: Create Checkout.com session → Get card token from Checkout.com → Create Dwolla funding source
    • After: Create Dwolla exchange session → Collect card via Flow component → Create Dwolla exchange → Create Dwolla funding source
  • Documentation updates: Updated README to reflect new architecture, simplified
    prerequisites, and clarified the Dwolla-centric approach

Technical Details

  • Refactored src/integrations/dwolla.ts with new functions:
    getExchangePartnerHref(), getExchangeSession(), and createExchange()
  • Updated src/app/send-payout/page.tsx to use exchange session data from Dwolla
    instead of Checkout.com payment sessions
  • Removed dependencies on Checkout.com server-side SDK
  • Environment variables reduced from 6 Checkout.com variables to 2 (public key and
    environment only)

@@ -5,8 +5,14 @@ import { LoadingButton } from "@mui/lab";
import { Box, Card, CardContent, CardHeader, TextField, Alert, Typography, IconButton, Tooltip, Stepper, Step, StepLabel, Chip, Table, TableBody, TableRow, TableCell, Divider, Button } from "@mui/material";
Copy link

Choose a reason for hiding this comment

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

The copy to clip board buttons are returning an error
Screenshot 2026-03-02 at 7 13 20 PM

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Huh! It had been working okay for me 🤔 I'll take a look!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hey @rcraig14, what was the error you saw? I haven't yet been able to recreate this with my older version of pnpm (v8.15.4) or the latest (v10.30.3).

@ShreyaThapa ShreyaThapa requested a review from rcraig14 March 6, 2026 15:47
Copy link

@rcraig14 rcraig14 left a comment

Choose a reason for hiding this comment

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

Comments have been address. App spins up locally and will create a funding source and send a card payment.

@ShreyaThapa ShreyaThapa merged commit b50e690 into main Mar 6, 2026
1 check passed
@ShreyaThapa ShreyaThapa deleted the DEV-1920 branch March 6, 2026 16:04
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