# Implement Yoursafe Direct

Yoursafe Direct is a FlexPay purchase that settles by iDEAL into a Yoursafe Business Account. Use the Yoursafe Direct brand and host. Buyers for this product go to `secure.yoursafedirect.com`. If this skill and a product page disagree, follow the product page.

## Read first

1. [Yoursafe Direct](/en/direct) — purchase, success postback, status, signature
2. The FlexPay signature section when you are not using the PHP or Java client

## Implement in this order

1. Take `shopID` and the signature key from the Yoursafe Direct website in the Control Center.
2. Build `GET https://secure.yoursafedirect.com/startorder` with `version` `4`, `type` `purchase`, and `paymentMethod` `IDEAL`.
3. In the client library, select the Yoursafe Direct brand.
4. Handle the success postback: verify the signature, store the sale, respond.
5. When you need more than the postback, query the status page with `referenceID` or `saleID`.

## Credentials

- Shop ID and FlexPay signature key for the Yoursafe Direct website.
- Postback URL configured on that website.

## Traps

- `paymentMethod` is `IDEAL`.
- The signature matches FlexPay: hex SHA-256, signature key first, then parameters in alphabetical order, UTF-8. Include an optional parameter only when it has a value. Leave `email` out of the `startorder` signature.
- The success postback is sent for an approved sale. Respond with HTTP 200 and the plain text `OK` within 30 seconds.
- The status call takes one identifier. `referenceID` and `saleID` are alternatives.
- Card FlexPay examples that use `secure.verotel.com` are a different host. Direct traffic uses `secure.yoursafedirect.com`.

## Done when

The buyer reaches the iDEAL page from `secure.yoursafedirect.com`, the approved-sale postback verifies, and the handler returns `OK`.

## Reference

- [Yoursafe Direct](/en/direct)
