Skip to content

Pesalink icon#1478

Closed
Andrew-Paystack wants to merge 9 commits intoactivemerchant:masterfrom
Andrew-Paystack:pesalink_icon
Closed

Pesalink icon#1478
Andrew-Paystack wants to merge 9 commits intoactivemerchant:masterfrom
Andrew-Paystack:pesalink_icon

Conversation

@Andrew-Paystack
Copy link
Copy Markdown

Why are you adding this icons?

I'm adding this icon because it is part of the payments ecosystem in Kenya and will be helpful for our Shopify plugin

Help us identify yourself

  • I'm working/collaborating with the brand directly and they have provided the icons.
  • I'm associated with the brand and I've read all the brand icon’s guidelines.
  • I'm an individual and I've read all the brand icon’s guidelines.

Link to the brand guidelines:

Checklist to add new icons

  • All icons have a corresponding entry in db/payment_icons.yml
  • I have followed the icon guidelines detailed in the CONTRIBUTING.md file
  • I have optimized the icon with SVGO
  • I am confident that all icons are clear and easy to read/understand
  • I have provided a link to the brand icon’s brand guidelines whenever possible.
  • I have attached a screenshot comparison with the example icon provided in guidelines
  • I recognize that if my icon is not approved by the Shopify Partners team it may not receive review nor merger.

If this pull request is not adding new icons, you can remove this checklist.

Attach a screenshot of the icon along side the example Visa icon

Screenshot 2025-09-17 at 13 26 53

Tips how to create a screenshot

We have found free online SVG editor https://www.freecodeformat.com/svg-editor.php very useful to create one. Here is a sample code for you to verify that you icon appears properly along side the placeholder.

<!-- Change background color if needed to showcase your icon better -->
<style> body { background: black; } </style>

<!-- DO NOT DELETE EXAMPLE -->
<svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M28.3 10.1H28c-.4 1-.7 1.5-1 3h1.9c-.3-1.5-.3-2.2-.6-3zm2.9 5.9h-1.7c-.1 0-.1 0-.2-.1l-.2-.9-.1-.2h-2.4c-.1 0-.2 0-.2.2l-.3.9c0 .1-.1.1-.1.1h-2.1l.2-.5L27 8.7c0-.5.3-.7.8-.7h1.5c.1 0 .2 0 .2.2l1.4 6.5c.1.4.2.7.2 1.1.1.1.1.1.1.2zm-13.4-.3l.4-1.8c.1 0 .2.1.2.1.7.3 1.4.5 2.1.4.2 0 .5-.1.7-.2.5-.2.5-.7.1-1.1-.2-.2-.5-.3-.8-.5-.4-.2-.8-.4-1.1-.7-1.2-1-.8-2.4-.1-3.1.6-.4.9-.8 1.7-.8 1.2 0 2.5 0 3.1.2h.1c-.1.6-.2 1.1-.4 1.7-.5-.2-1-.4-1.5-.4-.3 0-.6 0-.9.1-.2 0-.3.1-.4.2-.2.2-.2.5 0 .7l.5.4c.4.2.8.4 1.1.6.5.3 1 .8 1.1 1.4.2.9-.1 1.7-.9 2.3-.5.4-.7.6-1.4.6-1.4 0-2.5.1-3.4-.2-.1.2-.1.2-.2.1zm-3.5.3c.1-.7.1-.7.2-1 .5-2.2 1-4.5 1.4-6.7.1-.2.1-.3.3-.3H18c-.2 1.2-.4 2.1-.7 3.2-.3 1.5-.6 3-1 4.5 0 .2-.1.2-.3.2M5 8.2c0-.1.2-.2.3-.2h3.4c.5 0 .9.3 1 .8l.9 4.4c0 .1 0 .1.1.2 0-.1.1-.1.1-.1l2.1-5.1c-.1-.1 0-.2.1-.2h2.1c0 .1 0 .1-.1.2l-3.1 7.3c-.1.2-.1.3-.2.4-.1.1-.3 0-.5 0H9.7c-.1 0-.2 0-.2-.2L7.9 9.5c-.2-.2-.5-.5-.9-.6-.6-.3-1.7-.5-1.9-.5L5 8.2z" fill="#142688"/></svg>

<!-- TODO: insert your icon here -->
<svg width="38" height="24" viewBox="0 0 38 24" role="img" aria-labelledby="pi-pesalink" fill="none" xmlns="http://www.w3.org/2000/svg">
<title id="pi-pesalink"> Pesalink </title>
<rect width="38" height="24" rx="8" fill="white"/>
<rect x="0.5" y="0.5" width="37" height="23" rx="7.5" stroke="black" stroke-opacity="0.07"/>
<g clip-path="url(#clip0_1107_574)">
<path d="M17.6982 9.8054C17.7291 9.80533 17.7599 9.80523 17.7907 9.80512C17.8741 9.80487 17.9575 9.80496 18.041 9.80514C18.1285 9.80526 18.216 9.80514 18.3036 9.80507C18.4506 9.80496 18.5976 9.80509 18.7448 9.80535C18.9144 9.80563 19.084 9.80554 19.2534 9.80524C19.3995 9.80502 19.5455 9.80498 19.6914 9.80512C19.7785 9.80519 19.8654 9.80521 19.9525 9.80503C20.0343 9.80487 20.1163 9.80498 20.1981 9.8053C20.2279 9.80537 20.258 9.80533 20.2878 9.80523C20.5454 9.80431 20.8124 9.82553 21.0106 10.0095C21.162 10.1728 21.2291 10.3533 21.2293 10.5735C21.2295 10.5858 21.2295 10.5981 21.2295 10.6108C21.2297 10.6519 21.2297 10.6929 21.2297 10.734C21.2297 10.7635 21.2297 10.793 21.2299 10.8226C21.2299 10.9026 21.23 10.9828 21.23 11.0629C21.23 11.113 21.23 11.1631 21.23 11.2132C21.2302 11.3883 21.2304 11.5634 21.2304 11.7385C21.2302 11.9013 21.2306 12.0642 21.2307 12.227C21.2309 12.367 21.2311 12.5071 21.2311 12.6472C21.2311 12.7307 21.2311 12.8142 21.2313 12.8978C21.2314 12.9764 21.2314 13.0551 21.2313 13.1338C21.2313 13.1625 21.2314 13.1912 21.2314 13.2199C21.2325 13.4887 21.2322 13.8029 21.0327 14.0096C20.8051 14.2118 20.5806 14.27 20.2818 14.2677C20.2514 14.2677 20.2209 14.2679 20.1905 14.268C20.1085 14.2684 20.0264 14.2681 19.9444 14.2678C19.8582 14.2675 19.772 14.2677 19.6857 14.2677C19.5409 14.2678 19.396 14.2676 19.2513 14.2671C19.0843 14.2665 18.9176 14.2665 18.7506 14.2668C18.5895 14.2671 18.4282 14.267 18.2671 14.2667C18.1987 14.2665 18.1305 14.2665 18.0622 14.2667C17.9816 14.2668 17.901 14.2666 17.8204 14.2661C17.791 14.266 17.7616 14.266 17.7322 14.2661C17.4727 14.2671 17.2297 14.235 17.0222 14.0625C16.7908 13.8169 16.7667 13.5608 16.768 13.2393C16.768 13.2088 16.7678 13.1783 16.7677 13.1478C16.7675 13.0657 16.7676 12.9836 16.7678 12.9015C16.7679 12.8152 16.7678 12.729 16.7677 12.6427C16.7676 12.498 16.7677 12.3532 16.768 12.2085C16.7683 12.0415 16.7682 11.8745 16.7679 11.7075C16.7676 11.5636 16.7676 11.4197 16.7677 11.2759C16.7678 11.1902 16.7678 11.1044 16.7677 11.0187C16.7675 10.9382 16.7676 10.8576 16.7679 10.7771C16.768 10.7476 16.768 10.7182 16.7678 10.6887C16.7669 10.4159 16.8098 10.2228 17.0012 10.0195C17.0714 9.95254 17.1452 9.90344 17.2342 9.86515C17.2655 9.85166 17.2655 9.85166 17.2975 9.83791C17.4268 9.79567 17.5637 9.80487 17.6982 9.8054Z" fill="#03152A"/>
<path d="M20.0369 3.86461C20.1094 3.92765 20.1803 3.99234 20.2508 4.0576C20.2663 4.07183 20.282 4.08607 20.2981 4.10074C20.4323 4.22372 20.5612 4.35107 20.6891 4.48076C20.7108 4.50279 20.7326 4.52482 20.7543 4.54685C20.8009 4.59382 20.8473 4.64082 20.8936 4.68785C20.967 4.76225 21.0405 4.83657 21.1141 4.9109C21.2698 5.06847 21.4255 5.22612 21.5813 5.38377C21.7498 5.55447 21.9184 5.72514 22.087 5.89573C22.1601 5.96958 22.2331 6.04348 22.3059 6.11742C22.3512 6.16333 22.3967 6.20921 22.442 6.25506C22.463 6.2763 22.484 6.29757 22.505 6.31885C22.5336 6.3479 22.5623 6.37693 22.5911 6.40591C22.6071 6.42216 22.623 6.43839 22.6396 6.45512C22.6822 6.49617 22.7263 6.53296 22.7727 6.56966C22.8581 6.64992 22.8581 6.64992 22.8785 6.71219C22.902 6.72423 22.9254 6.73606 22.9491 6.74782C22.9792 6.77515 23.0083 6.80351 23.0369 6.83252C23.045 6.84073 23.0533 6.84894 23.0616 6.85739C23.0787 6.87469 23.0956 6.89201 23.1126 6.90938C23.1387 6.93606 23.1649 6.96261 23.1912 6.98914C23.3194 7.11946 23.3194 7.11946 23.3194 7.13977L23.2522 7.13197C23.2217 7.12864 23.1912 7.12529 23.1607 7.12196C23.1409 7.11959 23.1409 7.11959 23.1208 7.11716C22.9612 7.09988 22.8018 7.10166 22.6417 7.10188C22.6087 7.10186 22.5757 7.10182 22.5427 7.10179C22.4526 7.10172 22.3623 7.10175 22.2722 7.10181C22.1747 7.10184 22.0773 7.10179 21.9798 7.10174C21.7892 7.10166 21.5984 7.10168 21.4077 7.10174C21.2527 7.10177 21.0977 7.10177 20.9425 7.10175C20.9204 7.10175 20.8984 7.10175 20.8757 7.10175C20.8309 7.10174 20.7859 7.10174 20.7411 7.10174C20.3325 7.10168 19.924 7.10174 19.5154 7.10182C19.143 7.10191 18.7703 7.1019 18.3977 7.10181C17.9787 7.10172 17.5597 7.10168 17.1407 7.10174C17.096 7.10174 17.0513 7.10175 17.0066 7.10175C16.9846 7.10175 16.9626 7.10175 16.94 7.10175C16.7852 7.10177 16.6304 7.10175 16.4756 7.10172C16.2869 7.10166 16.0981 7.10166 15.9094 7.10177C15.8131 7.10181 15.7169 7.10182 15.6206 7.10177C15.5324 7.10172 15.4442 7.10175 15.356 7.10184C15.3242 7.10186 15.2924 7.10186 15.2606 7.10181C15.0412 7.10154 14.8251 7.10959 14.6074 7.13977C14.6971 7.02905 14.7964 6.92933 14.8971 6.82903C14.9715 6.75468 15.0452 6.67969 15.1191 6.60492C15.1406 6.58316 15.1621 6.56143 15.1836 6.53968C15.195 6.52815 15.2064 6.51662 15.2181 6.50474C15.4808 6.23907 15.7436 5.97343 16.0063 5.70783C16.1582 5.55434 16.31 5.40084 16.4618 5.2473C16.5944 5.11316 16.727 4.97906 16.8597 4.84499C16.9298 4.7741 16.9999 4.7032 17.07 4.63226C17.136 4.56551 17.202 4.4988 17.268 4.43213C17.2922 4.40772 17.3163 4.38329 17.3404 4.35885C17.4552 4.24266 17.5695 4.128 17.6937 4.02196C17.7161 4.0016 17.7385 3.98119 17.7609 3.96072C17.9783 3.76901 18.2204 3.59843 18.5028 3.5298C18.5254 3.52401 18.5254 3.52401 18.5486 3.5181C19.0786 3.38648 19.6149 3.51683 20.0369 3.86461Z" fill="#F3972B"/>
<path d="M14.0531 7.64404C14.0788 7.69571 14.0645 7.73186 14.0553 7.78873C14.0392 7.89849 14.0306 8.0075 14.0261 8.11831C14.0254 8.13564 14.0247 8.15298 14.0239 8.17084C14.0143 8.42426 14.0117 8.67788 14.0087 8.93147C14.0081 8.97665 14.0076 9.02185 14.007 9.06703C13.9985 9.76585 13.998 10.4647 13.9985 11.1635C13.9987 11.3429 13.9987 11.5223 13.9987 11.7017C13.9988 12.0213 13.9989 12.3409 13.999 12.6605C13.9992 12.9698 13.9993 13.279 13.9994 13.5883C13.9994 13.6076 13.9994 13.6269 13.9994 13.6467C13.9994 13.7434 13.9995 13.8402 13.9995 13.9369C13.9997 14.7313 14 15.5257 14.0004 16.32C13.9867 16.3063 13.9731 16.2925 13.9591 16.2783C13.9162 16.2354 13.8721 16.1947 13.8268 16.1544C13.7531 16.0882 13.6827 16.0199 13.6136 15.949L13.5723 15.9074C13.5405 15.8755 13.5089 15.8435 13.4773 15.8113C13.461 15.7948 13.4447 15.7783 13.428 15.7612C13.4197 15.7528 13.4115 15.7444 13.403 15.7357C13.3673 15.6995 13.3322 15.6661 13.2912 15.636C13.2816 15.6285 13.2621 15.6132 13.2621 15.6132L13.2093 15.5602C13.1792 15.5316 13.15 15.502 13.1214 15.4719C13.0926 15.4429 13.0638 15.414 13.0349 15.3851C13.0178 15.3679 13.0007 15.3507 12.9836 15.3335C12.9745 15.3244 12.9655 15.3154 12.9562 15.306C12.7474 15.0964 12.5386 14.8868 12.3299 14.6771C12.2093 14.556 12.0887 14.4349 11.968 14.3138C11.8626 14.208 11.7571 14.1021 11.6517 13.9962C11.5961 13.9403 11.5403 13.8843 11.4846 13.8284C11.4321 13.7758 11.3797 13.7231 11.3273 13.6704C11.3081 13.6512 11.289 13.6319 11.2698 13.6127C11.1683 13.5111 11.0697 13.4082 10.9768 13.2985C10.9608 13.2804 10.9448 13.2623 10.9287 13.2444C10.5707 12.8337 10.4014 12.3666 10.4361 11.8187C10.4849 11.3577 10.7184 10.9857 11.0443 10.6682C11.0443 10.6682 11.1438 10.5684 11.1966 10.5154C11.1966 10.5154 11.4042 10.302 11.453 10.2534C11.4641 10.2422 11.4751 10.2311 11.4866 10.2196C11.5238 10.1821 11.5611 10.1448 11.5985 10.1074C11.6252 10.0806 11.6518 10.0538 11.6785 10.027C11.751 9.95409 11.8236 9.88132 11.8962 9.80857C11.972 9.73256 12.0478 9.65645 12.1235 9.58035C12.267 9.43621 12.4106 9.29218 12.5542 9.14817C12.7177 8.98423 12.8811 8.8202 13.0444 8.65615C13.3806 8.31867 13.7168 7.98131 14.0531 7.64404Z" fill="#0ACBE5"/>
<path d="M23.7871 7.60791C23.8415 7.63207 23.8789 7.6594 23.9209 7.70125C23.933 7.71321 23.9451 7.72518 23.9575 7.73751C23.9707 7.75062 23.9837 7.76374 23.9972 7.77726C24.011 7.79109 24.0251 7.80491 24.0393 7.81915C24.0854 7.86492 24.1313 7.91082 24.1772 7.95671C24.2092 7.98855 24.2412 8.02038 24.2732 8.0522C24.3488 8.1275 24.4244 8.20289 24.5 8.27831C24.5857 8.36382 24.6715 8.44923 24.7572 8.53463C24.9039 8.68074 25.0507 8.82694 25.1972 8.9732C25.2607 9.03654 25.3242 9.09982 25.3879 9.16299C25.4532 9.22785 25.5185 9.29284 25.5836 9.35787C25.6414 9.41548 25.6992 9.47302 25.757 9.53058C25.7872 9.56081 25.8176 9.59108 25.8479 9.62135C25.892 9.66536 25.9361 9.70927 25.9802 9.75318C25.9935 9.76658 26.0071 9.77995 26.0207 9.79376C26.0928 9.86524 26.1662 9.93332 26.2434 9.99931C26.2977 10.0467 26.3486 10.0973 26.3996 10.1481C26.4105 10.159 26.4215 10.1698 26.4327 10.181C26.4556 10.2038 26.4786 10.2266 26.5015 10.2494C26.5362 10.2839 26.5709 10.3184 26.6057 10.3528C26.7135 10.4598 26.819 10.5672 26.9175 10.6827C26.9442 10.7115 26.9709 10.7402 26.9976 10.7689C27.0741 10.8534 27.1401 10.9408 27.2021 11.0362C27.2085 11.0458 27.2148 11.0553 27.2213 11.0652C27.3297 11.2307 27.4079 11.3963 27.4689 11.584C27.475 11.6021 27.481 11.6203 27.4873 11.639C27.602 12.0291 27.476 12.465 27.2895 12.8128C27.2509 12.8823 27.2126 12.9505 27.1666 13.0154C27.1545 13.0324 27.1545 13.0324 27.1422 13.0497C27.0472 13.1771 26.9353 13.29 26.8258 13.4049L25.13 15.1006L24.5212 15.7167L24.3607 15.8761L24.0806 16.1421L23.876 16.3199C23.8773 16.3034 23.8785 16.287 23.8798 16.27C23.8933 16.0791 23.8965 15.8894 23.8963 15.6981C23.8963 15.6647 23.8965 15.6313 23.8965 15.5979C23.8967 15.507 23.8967 15.416 23.8967 15.325C23.8967 15.2265 23.8969 15.1281 23.897 15.0297C23.8972 14.8149 23.8974 14.6001 23.8974 14.3853C23.8974 14.2511 23.8976 14.1169 23.8976 13.9827C23.8977 13.6108 23.8979 13.2389 23.8981 12.867C23.8981 12.843 23.8981 12.819 23.8981 12.795C23.8981 12.7709 23.8981 12.7469 23.8981 12.7228C23.8981 12.6746 23.8981 12.6263 23.8981 12.5781C23.8981 12.5661 23.8981 12.5542 23.8981 12.5418C23.8981 12.1536 23.8985 11.7654 23.8988 11.3773C23.8993 10.9662 23.8995 10.5552 23.8995 10.1441C23.8995 9.92028 23.8997 9.69644 23.9001 9.4726C23.9002 9.28212 23.9004 9.09164 23.9002 8.90117C23.9002 8.80403 23.9002 8.70691 23.9004 8.60979C23.9006 8.5208 23.9006 8.43179 23.9004 8.34279C23.9004 8.31068 23.9004 8.27859 23.9006 8.24648C23.9017 8.02255 23.888 7.81297 23.7871 7.60791Z" fill="#F23A2A"/>
<path d="M23.3556 16.8964C23.3297 16.9582 23.297 16.9923 23.2466 17.0359C22.9581 17.2902 22.6891 17.5645 22.4185 17.8378C22.3627 17.894 22.3069 17.9503 22.2511 18.0065C22.1533 18.1051 22.0554 18.2037 21.9577 18.3024C21.9271 18.3333 21.8964 18.3641 21.8656 18.395C21.8329 18.4279 21.8003 18.4609 21.7678 18.494C21.7123 18.5504 21.6568 18.6067 21.6012 18.6629C21.5773 18.6872 21.5533 18.7115 21.5296 18.7358C21.4949 18.771 21.4602 18.8061 21.4255 18.8411C21.415 18.8521 21.4042 18.863 21.3932 18.8743C21.3673 18.9003 21.3405 18.9254 21.3136 18.9503C21.3136 18.9503 21.1999 19.0691 21.1574 19.1117C21.1486 19.1205 21.14 19.1293 21.131 19.1384C21.1022 19.1674 21.0733 19.1962 21.0444 19.2251C21.0244 19.2453 21.0041 19.2656 20.984 19.2859C20.9418 19.3283 20.8996 19.3707 20.8571 19.4131C20.8033 19.467 20.7494 19.5211 20.6955 19.5752C20.654 19.6171 20.6123 19.6589 20.5705 19.7007C20.5508 19.7206 20.5309 19.7405 20.511 19.7604C20.1273 20.146 19.6601 20.5275 19.0912 20.532C19.0579 20.5319 19.0579 20.5319 19.0241 20.5317C19.0012 20.5316 18.9783 20.5315 18.9549 20.5314C18.2291 20.5225 17.7676 20.0611 17.2838 19.5757C17.2416 19.5334 17.1992 19.4913 17.1568 19.4492C16.7767 19.0695 16.7767 19.0695 16.7696 18.9178C16.7695 18.8974 16.7694 18.877 16.7694 18.8559C16.7692 18.8327 16.7691 18.8096 16.769 18.7857C16.769 18.7603 16.769 18.7349 16.769 18.7096C16.7689 18.6835 16.7688 18.6574 16.7688 18.6313C16.7687 18.5765 16.7686 18.5217 16.7687 18.4669C16.7687 18.3971 16.7684 18.3273 16.7681 18.2575C16.7679 18.2036 16.7679 18.1496 16.7679 18.0956C16.7679 18.0699 16.7678 18.0442 16.7677 18.0185C16.7667 17.8247 16.7734 17.6459 16.8676 17.473C16.8737 17.4617 16.8798 17.4505 16.8861 17.4389C17.0362 17.1754 17.2794 17.0304 17.5641 16.9495C17.6431 16.9385 17.7203 16.9376 17.8 16.9385C17.8224 16.9383 17.8448 16.9382 17.8679 16.9381C17.9293 16.9378 17.9907 16.938 18.0522 16.9383C18.1187 16.9385 18.1853 16.9382 18.2518 16.938C18.3668 16.9377 18.4819 16.9377 18.597 16.938C18.7636 16.9383 18.9303 16.9381 19.097 16.9378C19.3677 16.9373 19.6384 16.9371 19.9092 16.9372C20.1715 16.9373 20.4338 16.9374 20.6959 16.9372C20.7121 16.9372 20.7283 16.9372 20.745 16.9372C20.9216 16.9371 21.0981 16.9369 21.2747 16.9367C21.2981 16.9367 21.2981 16.9367 21.3219 16.9366C21.384 16.9366 21.4461 16.9365 21.5083 16.9364C21.6898 16.9361 21.8713 16.936 22.0528 16.9362C22.1666 16.9363 22.2805 16.9363 22.3944 16.9361C22.4599 16.9361 22.5256 16.9361 22.5912 16.9362C22.6624 16.9364 22.7336 16.9363 22.8049 16.9362C22.8255 16.9363 22.846 16.9363 22.8671 16.9365C22.9864 16.936 23.0996 16.9251 23.217 16.904C23.2642 16.8969 23.308 16.895 23.3556 16.8964Z" fill="#179987"/>
</g>
<defs>
<clipPath id="clip0_1107_574">
<rect width="18" height="18" fill="white" transform="translate(10 3)"/>
</clipPath>
</defs>
</svg>

If the icons are intended for use by Shopify, please provide the following info:

We're in touch with Danny. We're a payment partner and already have a Shopify app published.

What's the expected date of this change to deploy on Shopify?

@dannye0231 dannye0231 self-requested a review September 19, 2025 18:31
@dannye0231
Copy link
Copy Markdown
Contributor

@Andrew-Paystack can you please check the following:

Failure:
PaymentIconTest#test_Every_payment_SVG_meets_accessibility_requirements [test/unit/payment_icon_test.rb:89]:
{:message=>"The 'clip0_1107_574' ID should be pi-pesalink-clip0_1107_574 (missing 'pi-' prefix)"}.
Expected /pi-(.*)/ to match "clip0_1107_574".

bin/rails test /home/runner/work/payment_icons/payment_icons/test/unit/payment_icon_test.rb:61

...........

@Andrew-Paystack
Copy link
Copy Markdown
Author

@Andrew-Paystack can you please check the following:

Failure: PaymentIconTest#test_Every_payment_SVG_meets_accessibility_requirements [test/unit/payment_icon_test.rb:89]: {:message=>"The 'clip0_1107_574' ID should be pi-pesalink-clip0_1107_574 (missing 'pi-' prefix)"}. Expected /pi-(.*)/ to match "clip0_1107_574".

bin/rails test /home/runner/work/payment_icons/payment_icons/test/unit/payment_icon_test.rb:61

...........

Seen the issue and fixed it @dannye0231

@dannye0231
Copy link
Copy Markdown
Contributor

@Andrew-Paystack are you able to change your borders so that they match with what we have in our Contribution guide? Here is an example next to an approved icon:

image

@dannye0231
Copy link
Copy Markdown
Contributor

Almost there, but its still off by a bit:

image

Feel free to use the example in our Contributions guide to match it up on your SVG

@dannye0231
Copy link
Copy Markdown
Contributor

payment icon sizing requirements

@dannye0231
Copy link
Copy Markdown
Contributor

SVG Validation Results - REVISED

Root <svg> Tag Requirements

Requirement Status
XML Namespace (xmlns) ✅ Present: xmlns="http://www.w3.org/2000/svg"
Role ✅ Correct: role="img"
ViewBox ✅ Defined: viewBox="0 0 38 24"
Dimensions ✅ Specified: width="38" height="24"
Accessibility (aria-labelledby) ✅ Present: aria-labelledby="pi-pesalink"

Nested <title> Tag and Accessibility

Requirement Status
Title Inclusion ✅ Present: <title id="pi-pesalink">Pesalink</title>
ID Match ✅ Matches: id="pi-pesalink" matches aria-labelledby
Accessibility Purpose ✅ Provides screen reader description

Graphic and Structure Requirements

Requirement Status
Vector Graphics Only ✅ Uses only <rect>, <path>, <g>, <clipPath>, <defs>
No Embedded Media ✅ No fonts or bitmaps
No Base64 Images ✅ None present
Standard Structure ✅ Properly nested elements with clip paths
Organization ✅ Well-organized with grouping and definitions

Styling and Naming Conventions

Requirement Status
Inline Styles ✅ All styles inline (fill, stroke attributes)
No Class Attributes ✅ No classes present
ID Naming Convention ✅ Follows pi- prefix: pi-pesalink, pi-pesalink-clip0_1107_574

Clarity and Quality Checks

Requirement Status
Readability ✅ Clear and recognizable multi-color logo
Color Contrast ✅ Excellent contrast (dark/vibrant colors on white)
Logo Background ✅ White background appropriate
Border Dimensions INCORRECT: Uses rx="4" and rx="3.5" - should use rx="2" and rx="2.5" to match template
File Size ✅ Under 10kb
Optimization ✅ Well-optimized with proper use of clip paths

Overall Result: FAIL

Issue Found: The border radius dimensions are incorrect. The template uses rx="2" for rounded corners, but this SVG uses rx="4" and rx="3.5", making the corners too rounded.

Required Fix:

  • Change <rect width="38" height="24" rx="4" fill="#fff"/> to rx="2"
  • Change <rect x=".5" y=".5" width="37" height="23" rx="3.5".../> to rx="2.5"

@dannye0231
Copy link
Copy Markdown
Contributor

@Andrew-Paystack are you able to address the issues mentioned above?

@Andrew-Paystack
Copy link
Copy Markdown
Author

@dannye0231 yes this is fixable. I'll work on it. Thank you.

@Andrew-Paystack
Copy link
Copy Markdown
Author

@dannye0231 yes this is fixable. I'll work on it. Thank you.

@dannye0231 This is complete. Please let me know if it passes.

@dannye0231
Copy link
Copy Markdown
Contributor

Hi @Andrew-Paystack , looks good but I just had a few minor call-outs which I was wondering if you can address:

SVG Validation Results for "Pesalink"

✅ Passed Checks

Requirement Status
XML Namespace (xmlns) ✅ Present: xmlns="http://www.w3.org/2000/svg"
Role Attribute ✅ Present: role="img"
ViewBox Defined ✅ Present: viewBox="0 0 38 24"
Width & Height ✅ Present: width="38" height="24"
aria-labelledby ✅ Present: aria-labelledby="pi-pesalink"
Title Element ✅ Present with correct content
Title ID Match ✅ Matches: id="pi-pesalink"
Vector Graphics Only ✅ All <rect>, <path>, and <g> elements
No Embedded Media ✅ No fonts or bitmaps
No Base64 Images ✅ None present
No Class Attributes ✅ None present
ID Naming Convention ✅ Follows "pi-" prefix
Border Visibility ✅ Border present with stroke-opacity=".07"
Clear & Recognizable ✅ Icon is clear with distinct colors
Color Contrast ✅ Good contrast between colored elements

⚠️ Warning/Optimization Issues

Item Status Notes
Unnecessary Complexity ⚠️ Uses <clipPath> and <defs> which add complexity not in template
Root SVG Attributes ⚠️ Contains fill="none" on root <svg> tag (not in template)

❌ Failed Checks

None - All required validation requirements passed!


Recommendations

While this SVG passes all mandatory requirements, consider these optimizations to better match the template standard:

  1. Remove clipPath: The <clipPath> wrapper appears unnecessary. The clipping path creates an 18x18 white rectangle at transform="translate(10 3)", but this could likely be simplified.

  2. Remove fill="none" from root: The root <svg> tag has fill="none" which is not present in the template.

  3. Consider simplification: The logo uses multiple complex paths that might be optimizable while maintaining visual fidelity.

The Pesalink logo is well-structured with clear visual elements in orange, blue, red, teal, and black that create a distinctive payment icon.

@Andrew-Paystack
Copy link
Copy Markdown
Author

Hi @dannye0231 ,

I was able to work on items 1 & 3 however, I couldn't find a way to remove the fill none without affecting the rest of the elements.
Please let me know if there's a better approach.

@dannye0231
Copy link
Copy Markdown
Contributor

Hi @Andrew-Paystack , taking a look at the latest icon, it looks like the clippath issue is the only thing remaining which needs to be addressed:

SVG Validation Results

✅ Root <svg> Tag Requirements

Requirement Status Notes
XML Namespace (xmlns) Present: xmlns="http://www.w3.org/2000/svg"
Role Present: role="img"
ViewBox Present: viewBox="0 0 38 24"
Dimensions Present: width="38" height="24"
Accessibility (aria-labelledby) Present: aria-labelledby="pi-pesalink"

✅ Nested <title> Tag and Accessibility

Requirement Status Notes
Inclusion <title id="pi-pesalink">Pesalink</title>
ID Match ID pi-pesalink matches aria-labelledby
Purpose Provides screen reader accessibility

⚠️ Graphic and Structure Requirements

Requirement Status Notes
Vector Graphics Only Uses <rect>, <path> elements
No Raster Images No bitmap images present
No Embedded Fonts No fonts embedded
No Base64 Images No base64 encoding
Standard Structure CRITICAL ERROR: Missing <clipPath> definition
- References clip-path="url(#a)" on <g> element
- No <clipPath id="a"> is defined in SVG
- This will cause rendering issues
Organization ⚠️ Structure incomplete due to missing definition

✅ Styling and Naming Conventions

Requirement Status Notes
Inline Styles Styles applied via attributes (fill, stroke)
No <style> Tags No style blocks present
No Class Attributes No classes used
ID Naming Convention Uses pi-pesalink prefix

✅ Clarity and Quality Checks

Requirement Status Notes
Readability ⚠️ Cannot fully assess due to missing clipPath
Color Contrast Good contrast with multiple colors
No Solid Background White background with border
Border Visibility Border properly defined with stroke method
Optimization File appears optimized

Summary

Overall Status: ❌ FAILS

Critical Issue:

The SVG references a clip path (clip-path="url(#a)") that is not defined anywhere in the document. This means:

  • The <g> element attempts to use a clipping mask that doesn't exist
  • Browsers will ignore the clip-path reference
  • The icon may render incorrectly or show unwanted overflow

Required Fix:

Either:

  1. Add the missing <clipPath id="a"> definition with appropriate clipping shape, OR
  2. Remove the clip-path="url(#a)" attribute from the <g> element if clipping is not needed

Recommendation:REJECTED - Cannot approve until the missing clipPath definition is added or the reference is removed.

@dannye0231
Copy link
Copy Markdown
Contributor

Closed due to no response

@dannye0231 dannye0231 closed this Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants